Manually convert the remaining uses of the read accessor functions and
remove them now that they are unused.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
drivers/net/dsa/lantiq/lantiq_gswip.c | 65 ++++++++++++++-------------
1 file changed, 34 insertions(+), 31 deletions(-)
diff --git a/drivers/net/dsa/lantiq/lantiq_gswip.c b/drivers/net/dsa/lantiq/lantiq_gswip.c
index 8ab16972b2be..41e59f56a2e9 100644
--- a/drivers/net/dsa/lantiq/lantiq_gswip.c
+++ b/drivers/net/dsa/lantiq/lantiq_gswip.c
@@ -111,15 +111,6 @@ static const struct gswip_rmon_cnt_desc gswip_rmon_cnt[] = {
MIB_DESC(2, 0x0E, "TxGoodBytes"),
};
-static u32 gswip_switch_r(struct gswip_priv *priv, u32 offset)
-{
- u32 val;
-
- regmap_read(priv->gswip, offset, &val);
-
- return val;
-}
-
static void gswip_switch_mask(struct gswip_priv *priv, u32 clear, u32 set,
u32 offset)
{
@@ -135,15 +126,6 @@ static u32 gswip_switch_r_timeout(struct gswip_priv *priv, u32 offset,
!(val & cleared), 20, 50000);
}
-static u32 gswip_mdio_r(struct gswip_priv *priv, u32 offset)
-{
- u32 val;
-
- regmap_read(priv->mdio, offset, &val);
-
- return val;
-}
-
static void gswip_mdio_mask(struct gswip_priv *priv, u32 clear, u32 set,
u32 offset)
{
@@ -225,6 +207,7 @@ static int gswip_mdio_wr(struct mii_bus *bus, int addr, int reg, u16 val)
static int gswip_mdio_rd(struct mii_bus *bus, int addr, int reg)
{
struct gswip_priv *priv = bus->priv;
+ u32 val;
int err;
err = gswip_mdio_poll(priv);
@@ -244,7 +227,11 @@ static int gswip_mdio_rd(struct mii_bus *bus, int addr, int reg)
return err;
}
- return gswip_mdio_r(priv, GSWIP_MDIO_READ);
+ err = regmap_read(priv->mdio, GSWIP_MDIO_READ, &val);
+ if (err)
+ return err;
+
+ return val;
}
static int gswip_mdio(struct gswip_priv *priv)
@@ -288,6 +275,7 @@ static int gswip_pce_table_entry_read(struct gswip_priv *priv,
int i;
int err;
u16 crtl;
+ u32 tmp;
u16 addr_mode = tbl->key_mode ? GSWIP_PCE_TBL_CTRL_OPMOD_KSRD :
GSWIP_PCE_TBL_CTRL_OPMOD_ADRD;
@@ -313,16 +301,29 @@ static int gswip_pce_table_entry_read(struct gswip_priv *priv,
return err;
}
- for (i = 0; i < ARRAY_SIZE(tbl->key); i++)
- tbl->key[i] = gswip_switch_r(priv, GSWIP_PCE_TBL_KEY(i));
-
- for (i = 0; i < ARRAY_SIZE(tbl->val); i++)
- tbl->val[i] = gswip_switch_r(priv, GSWIP_PCE_TBL_VAL(i));
+ for (i = 0; i < ARRAY_SIZE(tbl->key); i++) {
+ err = regmap_read(priv->gswip, GSWIP_PCE_TBL_KEY(i), &tmp);
+ if (err)
+ return err;
+ tbl->key[i] = tmp;
+ }
+ for (i = 0; i < ARRAY_SIZE(tbl->val); i++) {
+ err = regmap_read(priv->gswip, GSWIP_PCE_TBL_VAL(i), &tmp);
+ if (err)
+ return err;
+ tbl->val[i] = tmp;
+ }
- tbl->mask = gswip_switch_r(priv, GSWIP_PCE_TBL_MASK);
+ err = regmap_read(priv->gswip, GSWIP_PCE_TBL_MASK, &tmp);
+ if (err)
+ return err;
- crtl = gswip_switch_r(priv, GSWIP_PCE_TBL_CTRL);
+ tbl->mask = tmp;
+ err = regmap_read(priv->gswip, GSWIP_PCE_TBL_CTRL, &tmp);
+ if (err)
+ return err;
+ crtl = tmp;
tbl->type = !!(crtl & GSWIP_PCE_TBL_CTRL_TYPE);
tbl->valid = !!(crtl & GSWIP_PCE_TBL_CTRL_VLD);
tbl->gmap = (crtl & GSWIP_PCE_TBL_CTRL_GMAP_MASK) >> 7;
@@ -338,6 +339,7 @@ static int gswip_pce_table_entry_write(struct gswip_priv *priv,
int i;
int err;
u16 crtl;
+ u32 tmp;
u16 addr_mode = tbl->key_mode ? GSWIP_PCE_TBL_CTRL_OPMOD_KSWR :
GSWIP_PCE_TBL_CTRL_OPMOD_ADWR;
@@ -369,9 +371,9 @@ static int gswip_pce_table_entry_write(struct gswip_priv *priv,
regmap_write(priv->gswip, GSWIP_PCE_TBL_MASK, tbl->mask);
- crtl = gswip_switch_r(priv, GSWIP_PCE_TBL_CTRL);
- crtl &= ~(GSWIP_PCE_TBL_CTRL_TYPE | GSWIP_PCE_TBL_CTRL_VLD |
- GSWIP_PCE_TBL_CTRL_GMAP_MASK);
+ regmap_read(priv->gswip, GSWIP_PCE_TBL_CTRL, &tmp);
+ crtl = tmp & ~(GSWIP_PCE_TBL_CTRL_TYPE | GSWIP_PCE_TBL_CTRL_VLD |
+ GSWIP_PCE_TBL_CTRL_GMAP_MASK);
if (tbl->type)
crtl |= GSWIP_PCE_TBL_CTRL_TYPE;
if (tbl->valid)
@@ -1525,7 +1527,7 @@ static void gswip_get_strings(struct dsa_switch *ds, int port, u32 stringset,
static u32 gswip_bcm_ram_entry_read(struct gswip_priv *priv, u32 table,
u32 index)
{
- u32 result;
+ u32 result, val;
int err;
regmap_write(priv->gswip, GSWIP_BM_RAM_ADDR, index);
@@ -1543,7 +1545,8 @@ static u32 gswip_bcm_ram_entry_read(struct gswip_priv *priv, u32 table,
}
regmap_read(priv->gswip, GSWIP_BM_RAM_VAL(0), &result);
- result |= gswip_switch_r(priv, GSWIP_BM_RAM_VAL(1)) << 16;
+ regmap_read(priv->gswip, GSWIP_BM_RAM_VAL(1), &val);
+ result |= val << 16;
return result;
}
--
2.51.1.dirty
On Sun, 19 Oct 2025 13:48:36 +0100 Daniel Golle wrote:
> + for (i = 0; i < ARRAY_SIZE(tbl->key); i++) {
> + err = regmap_read(priv->gswip, GSWIP_PCE_TBL_KEY(i), &tmp);
> + if (err)
> + return err;
> + tbl->key[i] = tmp;
> + }
> + for (i = 0; i < ARRAY_SIZE(tbl->val); i++) {
> + err = regmap_read(priv->gswip, GSWIP_PCE_TBL_VAL(i), &tmp);
> + if (err)
> + return err;
> + tbl->val[i] = tmp;
> + }
>
> - tbl->mask = gswip_switch_r(priv, GSWIP_PCE_TBL_MASK);
> + err = regmap_read(priv->gswip, GSWIP_PCE_TBL_MASK, &tmp);
> + if (err)
> + return err;
>
> - crtl = gswip_switch_r(priv, GSWIP_PCE_TBL_CTRL);
> + tbl->mask = tmp;
> + err = regmap_read(priv->gswip, GSWIP_PCE_TBL_CTRL, &tmp);
> + if (err)
> + return err;
Coccicheck points out we're holding a mutex here, can't return directly.
--
pw-bot: cr
On Sun, Oct 19, 2025 at 03:25:45PM -0700, Jakub Kicinski wrote:
> On Sun, 19 Oct 2025 13:48:36 +0100 Daniel Golle wrote:
> > + for (i = 0; i < ARRAY_SIZE(tbl->key); i++) {
> > + err = regmap_read(priv->gswip, GSWIP_PCE_TBL_KEY(i), &tmp);
> > + if (err)
> > + return err;
> > + tbl->key[i] = tmp;
> > + }
> > + for (i = 0; i < ARRAY_SIZE(tbl->val); i++) {
> > + err = regmap_read(priv->gswip, GSWIP_PCE_TBL_VAL(i), &tmp);
> > + if (err)
> > + return err;
> > + tbl->val[i] = tmp;
> > + }
> >
> > - tbl->mask = gswip_switch_r(priv, GSWIP_PCE_TBL_MASK);
> > + err = regmap_read(priv->gswip, GSWIP_PCE_TBL_MASK, &tmp);
> > + if (err)
> > + return err;
> >
> > - crtl = gswip_switch_r(priv, GSWIP_PCE_TBL_CTRL);
> > + tbl->mask = tmp;
> > + err = regmap_read(priv->gswip, GSWIP_PCE_TBL_CTRL, &tmp);
> > + if (err)
> > + return err;
>
> Coccicheck points out we're holding a mutex here, can't return directly.
Correct. Thank you for pointing that out. I will fix this in v4.
© 2016 - 2026 Red Hat, Inc.