net: dsa: microchip: Use PORT_CTRL_ADDR() instead of indirect function call
authorMarek Vasut <marex@denx.de>
Tue, 25 Jun 2019 23:43:43 +0000 (01:43 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 27 Jun 2019 18:00:31 +0000 (11:00 -0700)
The indirect function call to dev->dev_ops->get_port_addr() is expensive
especially if called for every single register access, and only returns
the value of PORT_CTRL_ADDR() macro. Use PORT_CTRL_ADDR() macro directly
instead.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Cc: Tristram Ha <Tristram.Ha@microchip.com>
Cc: Woojung Huh <Woojung.Huh@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/microchip/ksz9477.c

index e8b9656..7d209fd 100644 (file)
@@ -83,7 +83,7 @@ static void ksz_port_cfg(struct ksz_device *dev, int port, int offset, u8 bits,
        u32 addr;
        u8 data;
 
-       addr = dev->dev_ops->get_port_addr(port, offset);
+       addr = PORT_CTRL_ADDR(port, offset);
        ksz_read8(dev, addr, &data);
 
        if (set)