kernel: rtl8367: set the correct cpu_port value
authorMieczyslaw Nalewaj <namiltd@yahoo.com>
Tue, 4 Jun 2024 15:25:39 +0000 (17:25 +0200)
committerRobert Marko <robimarko@gmail.com>
Sat, 8 Jun 2024 14:28:36 +0000 (16:28 +0200)
Set the appropriate cpu_port value based on the use of realtek,extif0 or realtek,extif1 parameter.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/15033
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/generic/files/drivers/net/phy/rtl8367.c

index 7f0569d0385b0ce61cc04a9870027a5606881c4a..b14b63e03630bd5a351508bcda0bc15b21010c5c 100644 (file)
@@ -1641,7 +1641,7 @@ static int rtl8367_switch_init(struct rtl8366_smi *smi)
        int err;
 
        dev->name = "RTL8367";
-       dev->cpu_port = RTL8367_CPU_PORT_NUM;
+       dev->cpu_port = smi->cpu_port;
        dev->ports = RTL8367_NUM_PORTS;
        dev->vlans = RTL8367_NUM_VIDS;
        dev->ops = &rtl8367_sw_ops;
@@ -1722,6 +1722,11 @@ static int rtl8367_detect(struct rtl8366_smi *smi)
        dev_info(smi->parent, "RTL%s ver. %u chip found\n",
                 chip_name, rtl_ver & RTL8367_RTL_VER_MASK);
 
+       if (of_property_present(smi->parent->of_node, "realtek,extif1"))
+               smi->cpu_port = RTL8367_CPU_PORT_NUM - 1;
+
+       dev_info(smi->parent, "CPU port: %u\n", smi->cpu_port);
+
        return 0;
 }