Re: [PATCH net-next v14 3/5] net: dsa: motorcomm: use fixed-width GENMASK_U*() helpers
From: David Yang
Date: Fri Oct 16 2026 - 15:45:11 EST
On Tue, Oct 13, 2026 at 9:11 AM Kyle Switch <kyle.switch@xxxxxxxxxxxxxx> wrote:
> @@ -36,19 +36,19 @@
> static const struct yt921x_info yt921x_infos[] = {
> {
> "YT9215SC", YT9215_MAJOR, 1, 0,
> - GENMASK(4, 0),
> + GENMASK_U16(4, 0),
> BIT(9),
> BIT(8) | BIT(9),
> },
> {
> "YT9215S", YT9215_MAJOR, 2, 0,
> - GENMASK(4, 0),
> + GENMASK_U16(4, 0),
> BIT(9),
> BIT(8),
> },
> {
> "YT9215RB", YT9215_MAJOR, 3, 0,
> - GENMASK(4, 0),
> + GENMASK_U16(4, 0),
> BIT(8) | BIT(9),
> 0,
> },
> @@ -66,13 +66,13 @@ static const struct yt921x_info yt921x_infos[] = {
> },
> {
> "YT9218N", YT9218_MAJOR, 0, 0,
> - GENMASK(7, 0),
> + GENMASK_U16(7, 0),
> 0,
> 0,
> },
> {
> "YT9218MB", YT9218_MAJOR, 1, 0,
> - GENMASK(7, 0),
> + GENMASK_U16(7, 0),
> BIT(8) | BIT(9),
> BIT(8) | BIT(9),
> },
> @@ -3741,7 +3741,7 @@ static int yt921x_chip_setup_dsa(struct yt921x_priv *priv)
> if (res)
> return res;
>
> - ctrl = GENMASK(10, 0);
> + ctrl = GENMASK_U32(10, 0);
> res = yt921x_reg_write(priv, YT921X_FILTER_UNK_UCAST, ctrl);
> if (res)
> return res;
The change below is fine, but the ones above aren't, the width is
already pinned by the variable being assigned to. Also DSA expects u32
port masks to some extent, those add unnecessary changes if you want
to change port masks in yt921x_info to u32 some day.
> diff --git a/drivers/net/dsa/motorcomm/mdio_bus.c b/drivers/net/dsa/motorcomm/mdio_bus.c
> index 83f0212551ff..3aa1111efaa4 100644
> --- a/drivers/net/dsa/motorcomm/mdio_bus.c
> +++ b/drivers/net/dsa/motorcomm/mdio_bus.c
> @@ -159,7 +159,7 @@ int yt921x_mbus_int_init(struct yt921x_priv *priv, struct device_node *mnp)
> mbus->write = yt921x_mbus_int_write;
> mbus->parent = dev;
> max_ports = priv->series->max_ports;
> - mbus->phy_mask = (u32)~GENMASK(max_ports - 1, 0);
> + mbus->phy_mask = ~GENMASK_U32(max_ports - 1, 0);
>
> res = devm_of_mdiobus_register(dev, mbus, mnp);
> if (res)
> --
> 2.25.1
>