This patch moves all variable assignments to the init function. It
leaves the detect function for its single purpose to detect which chip
version is found.

Signed-off-by: Michael Grzeschik <m.grzesc...@pengutronix.de>
---
 drivers/net/dsa/microchip/ksz8795.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/net/dsa/microchip/ksz8795.c 
b/drivers/net/dsa/microchip/ksz8795.c
index 853a0805e08f239..1164c745ce940d0 100644
--- a/drivers/net/dsa/microchip/ksz8795.c
+++ b/drivers/net/dsa/microchip/ksz8795.c
@@ -1150,9 +1150,6 @@ static int ksz8795_switch_detect(struct ksz_device *dev)
            (id2 != CHIP_ID_94 && id2 != CHIP_ID_95))
                return -ENODEV;
 
-       dev->mib_port_cnt = TOTAL_PORT_NUM;
-       dev->phy_port_cnt = SWITCH_PORT_NUM;
-
        if (id2 == CHIP_ID_95) {
                u8 val;
 
@@ -1167,9 +1164,6 @@ static int ksz8795_switch_detect(struct ksz_device *dev)
        id16 |= id2;
        dev->chip_id = id16;
 
-       dev->cpu_port = dev->mib_port_cnt - 1;
-       dev->host_mask = BIT(dev->cpu_port);
-
        return 0;
 }
 
@@ -1244,6 +1238,12 @@ static int ksz8795_switch_init(struct ksz_device *dev)
        dev->reg_mib_cnt = SWITCH_COUNTER_NUM;
        dev->mib_cnt = TOTAL_SWITCH_COUNTER_NUM;
 
+       dev->mib_port_cnt = TOTAL_PORT_NUM;
+       dev->phy_port_cnt = SWITCH_PORT_NUM;
+
+       dev->cpu_port = dev->mib_port_cnt - 1;
+       dev->host_mask = BIT(dev->cpu_port);
+
        i = dev->mib_port_cnt;
        dev->ports = devm_kzalloc(dev->dev, sizeof(struct ksz_port) * i,
                                  GFP_KERNEL);
-- 
2.29.2

Reply via email to