net: airoha: simplify WAN device check in airoha_dev_init()

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>
This commit is contained in:
Lorenzo Bianconi 2026-06-10 15:25:13 +02:00 committed by Jakub Kicinski
parent 21cf8dc478
commit 9912dfa2d4

View 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])
case AIROHA_GDM4_IDX:
if (airoha_get_wan_gdm_dev(dev->eth))
break;
if (airoha_get_wan_gdm_dev(eth))
break;
fallthrough;
}
case AIROHA_GDM2_IDX:
/* GDM2 is always used as wan */
dev->flags |= AIROHA_PRIV_F_WAN;