]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: airoha: simplify WAN device check in airoha_dev_init()
authorLorenzo Bianconi <lorenzo@kernel.org>
Wed, 10 Jun 2026 13:25:13 +0000 (15:25 +0200)
committerJakub Kicinski <kuba@kernel.org>
Thu, 11 Jun 2026 23:00:54 +0000 (16:00 -0700)
airoha_register_gdm_devices() iterates eth->ports[] in order, so GDM2's
netdev is always registered before GDM3/GDM4. This means the explicit
check for eth->ports[1] && eth->ports[1]->devs[0] is a redundant
special-case of what airoha_get_wan_gdm_dev() already covers, since
GDM2 is always marked as WAN during its own ndo_init.
Remove the redundant check and rely solely on airoha_get_wan_gdm_dev()
which handles both the GDM2-present and GDM2-absent cases.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com>
Link: https://patch.msgid.link/20260610-airoha-eth-simplify-dev-init-v2-1-8f244e69b0d4@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/airoha/airoha_eth.c

index 872ec1e492c418eb5b3c2067791b50959d70885c..9e72fe465e500a1b37ba0539b2dd1350c1940411 100644 (file)
@@ -2007,18 +2007,10 @@ static int airoha_dev_init(struct net_device *netdev)
 
        switch (port->id) {
        case AIROHA_GDM3_IDX:
-       case AIROHA_GDM4_IDX: {
-               struct airoha_eth *eth = dev->eth;
-
-               /* GDM2 supports a single net_device */
-               if (eth->ports[1] && eth->ports[1]->devs[0])
-                       break;
-
-               if (airoha_get_wan_gdm_dev(eth))
+       case AIROHA_GDM4_IDX:
+               if (airoha_get_wan_gdm_dev(dev->eth))
                        break;
-
                fallthrough;
-       }
        case AIROHA_GDM2_IDX:
                /* GDM2 is always used as wan */
                dev->flags |= AIROHA_PRIV_F_WAN;