]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: airoha: Rely __field_prep for non-constant masks
authorLorenzo Bianconi <lorenzo@kernel.org>
Wed, 4 Mar 2026 10:56:47 +0000 (11:56 +0100)
committerJakub Kicinski <kuba@kernel.org>
Fri, 6 Mar 2026 03:05:52 +0000 (19:05 -0800)
Rely on __field_prep macros for non-constant masks preparing the values
for register updates instead of open-coding.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://patch.msgid.link/20260304-airoha-__field_prep-v1-1-b185facc4e2f@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/airoha/airoha_eth.c

index 3779f93b47bc13ae21d4ae088dece4712dc214e5..09acbe6695368132ddd92c3501f8711476db73f6 100644 (file)
@@ -1727,7 +1727,7 @@ static int airhoha_set_gdm2_loopback(struct airoha_gdm_port *port)
        airoha_fe_rmw(eth,
                      REG_SP_DFT_CPORT(src_port >> fls(SP_CPORT_DFT_MASK)),
                      SP_CPORT_MASK(val),
-                     FE_PSE_PORT_CDM2 << __ffs(SP_CPORT_MASK(val)));
+                     __field_prep(SP_CPORT_MASK(val), FE_PSE_PORT_CDM2));
 
        if (port->id != AIROHA_GDM3_IDX && airoha_is_7581(eth))
                airoha_fe_rmw(eth, REG_SRC_PORT_FC_MAP6,
@@ -1781,7 +1781,7 @@ static int airoha_dev_init(struct net_device *dev)
        ppe_id = pse_port == FE_PSE_PORT_PPE2 ? 1 : 0;
        airoha_fe_rmw(eth, REG_PPE_DFT_CPORT0(ppe_id),
                      DFT_CPORT_MASK(port->id),
-                     fe_cpu_port << __ffs(DFT_CPORT_MASK(port->id)));
+                     __field_prep(DFT_CPORT_MASK(port->id), fe_cpu_port));
 
        return 0;
 }
@@ -2138,7 +2138,7 @@ static int airoha_qdma_set_chan_tx_sched(struct airoha_gdm_port *port,
 
        airoha_qdma_rmw(port->qdma, REG_CHAN_QOS_MODE(channel >> 3),
                        CHAN_QOS_MODE_MASK(channel),
-                       mode << __ffs(CHAN_QOS_MODE_MASK(channel)));
+                       __field_prep(CHAN_QOS_MODE_MASK(channel), mode));
 
        return 0;
 }