lkml.org 
[lkml]   [2022]   [Aug]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH net-next v4 13/17] net: dsa: microchip: ksz9477: use internal_phy instead of phy_port_cnt
    Date
    With code refactoring was introduced new variable internal_phy. Let's
    use it.

    Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
    Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
    ---
    drivers/net/dsa/microchip/ksz9477.c | 20 +++++++-------------
    1 file changed, 7 insertions(+), 13 deletions(-)

    diff --git a/drivers/net/dsa/microchip/ksz9477.c b/drivers/net/dsa/microchip/ksz9477.c
    index f0c81d90c99f4..d1ee6b4b49542 100644
    --- a/drivers/net/dsa/microchip/ksz9477.c
    +++ b/drivers/net/dsa/microchip/ksz9477.c
    @@ -290,7 +290,7 @@ int ksz9477_r_phy(struct ksz_device *dev, u16 addr, u16 reg, u16 *data)
    * For RGMII PHY there is no way to access it so the fixed PHY should
    * be used. For SGMII PHY the supporting code will be added later.
    */
    - if (addr >= dev->phy_port_cnt) {
    + if (!dev->info->internal_phy[addr]) {
    struct ksz_port *p = &dev->ports[addr];

    switch (reg) {
    @@ -338,7 +338,7 @@ int ksz9477_r_phy(struct ksz_device *dev, u16 addr, u16 reg, u16 *data)
    int ksz9477_w_phy(struct ksz_device *dev, u16 addr, u16 reg, u16 val)
    {
    /* No real PHY after this. */
    - if (addr >= dev->phy_port_cnt)
    + if (!dev->info->internal_phy[addr])
    return 0;

    return ksz_pwrite16(dev, addr, 0x100 + (reg << 1), val);
    @@ -887,7 +887,7 @@ static phy_interface_t ksz9477_get_interface(struct ksz_device *dev, int port)
    phy_interface_t interface;
    bool gbit;

    - if (port < dev->phy_port_cnt)
    + if (dev->info->internal_phy[port])
    return PHY_INTERFACE_MODE_NA;

    gbit = ksz_get_gbit(dev, port);
    @@ -994,7 +994,7 @@ void ksz9477_port_setup(struct ksz_device *dev, int port, bool cpu_port)
    /* enable 802.1p priority */
    ksz_port_cfg(dev, port, P_PRIO_CTRL, PORT_802_1P_PRIO_ENABLE, true);

    - if (port < dev->phy_port_cnt) {
    + if (dev->info->internal_phy[port]) {
    /* do not force flow control */
    ksz_port_cfg(dev, port, REG_PORT_CTRL_0,
    PORT_FORCE_TX_FLOW_CTRL | PORT_FORCE_RX_FLOW_CTRL,
    @@ -1017,7 +1017,7 @@ void ksz9477_port_setup(struct ksz_device *dev, int port, bool cpu_port)
    ksz9477_cfg_port_member(dev, port, member);

    /* clear pending interrupts */
    - if (port < dev->phy_port_cnt)
    + if (dev->info->internal_phy[port])
    ksz_pread16(dev, port, REG_PORT_PHY_INT_ENABLE, &data16);
    }

    @@ -1080,7 +1080,7 @@ void ksz9477_config_cpu_port(struct dsa_switch *ds)

    ksz_port_stp_state_set(ds, i, BR_STATE_DISABLED);
    p->on = 1;
    - if (i < dev->phy_port_cnt)
    + if (dev->info->internal_phy[i])
    p->phy = 1;
    if (dev->chip_id == 0x00947700 && i == 6) {
    p->sgmii = 1;
    @@ -1176,15 +1176,9 @@ int ksz9477_switch_init(struct ksz_device *dev)
    if (ret)
    return ret;

    - /* Number of ports can be reduced depending on chip. */
    - dev->phy_port_cnt = 5;
    -
    - if (dev->chip_id == KSZ9893_CHIP_ID) {
    + if (dev->chip_id == KSZ9893_CHIP_ID)
    dev->features |= IS_9893;

    - dev->phy_port_cnt = 2;
    - }
    -
    return 0;
    }

    --
    2.30.2
    \
     
     \ /
      Last update: 2022-08-26 12:59    [W:3.984 / U:1.644 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site