Changeset 28421


Ignore:
Timestamp:
2011-10-12T01:05:10+02:00 (6 years ago)
Author:
jogo
Message:

ar8216: use mdiobus_{read,write} to ensure proper locking

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/generic/files/drivers/net/phy/ar8216.c

    r27989 r28421  
    8080 
    8181        split_addr((u32) reg, &r1, &r2, &page); 
    82         phy->bus->write(phy->bus, 0x18, 0, page); 
     82        mdiobus_write(phy->bus, 0x18, 0, page); 
    8383        msleep(1); /* wait for the page switch to propagate */ 
    84         lo = phy->bus->read(phy->bus, 0x10 | r2, r1); 
    85         hi = phy->bus->read(phy->bus, 0x10 | r2, r1 + 1); 
     84        lo = mdiobus_read(phy->bus, 0x10 | r2, r1); 
     85        hi = mdiobus_read(phy->bus, 0x10 | r2, r1 + 1); 
    8686 
    8787        return (hi << 16) | lo; 
     
    9696 
    9797        split_addr((u32) reg, &r1, &r2, &r3); 
    98         phy->bus->write(phy->bus, 0x18, 0, r3); 
     98        mdiobus_write(phy->bus, 0x18, 0, r3); 
    9999        msleep(1); /* wait for the page switch to propagate */ 
    100100 
    101101        lo = val & 0xffff; 
    102102        hi = (u16) (val >> 16); 
    103         phy->bus->write(phy->bus, 0x10 | r2, r1 + 1, hi); 
    104         phy->bus->write(phy->bus, 0x10 | r2, r1, lo); 
     103        mdiobus_write(phy->bus, 0x10 | r2, r1 + 1, hi); 
     104        mdiobus_write(phy->bus, 0x10 | r2, r1, lo); 
    105105} 
    106106 
     
    153153                        (int)(id >> AR8216_CTRL_VERSION_S), 
    154154                        (int)(id & AR8216_CTRL_REVISION), 
    155                         priv->phy->bus->read(priv->phy->bus, priv->phy->addr, 2), 
    156                         priv->phy->bus->read(priv->phy->bus, priv->phy->addr, 3)); 
     155                        mdiobus_read(priv->phy->bus, priv->phy->addr, 2), 
     156                        mdiobus_read(priv->phy->bus, priv->phy->addr, 3)); 
    157157 
    158158                return UNKNOWN; 
     
    615615                    priv->phy->interface == PHY_INTERFACE_MODE_RGMII) { 
    616616                        /* work around for phy4 rgmii mode */ 
    617                         bus->write(bus, i, MII_ATH_DBG_ADDR, 0x12); 
    618                         bus->write(bus, i, MII_ATH_DBG_DATA, 0x480c); 
     617                        mdiobus_write(bus, i, MII_ATH_DBG_ADDR, 0x12); 
     618                        mdiobus_write(bus, i, MII_ATH_DBG_DATA, 0x480c); 
    619619                        /* rx delay */ 
    620                         bus->write(bus, i, MII_ATH_DBG_ADDR, 0x0); 
    621                         bus->write(bus, i, MII_ATH_DBG_DATA, 0x824e); 
     620                        mdiobus_write(bus, i, MII_ATH_DBG_ADDR, 0x0); 
     621                        mdiobus_write(bus, i, MII_ATH_DBG_DATA, 0x824e); 
    622622                        /* tx delay */ 
    623                         bus->write(bus, i, MII_ATH_DBG_ADDR, 0x5); 
    624                         bus->write(bus, i, MII_ATH_DBG_DATA, 0x3d47); 
     623                        mdiobus_write(bus, i, MII_ATH_DBG_ADDR, 0x5); 
     624                        mdiobus_write(bus, i, MII_ATH_DBG_DATA, 0x3d47); 
    625625                        msleep(1000); 
    626626                } 
    627627 
    628628                /* initialize the port itself */ 
    629                 bus->write(bus, i, MII_ADVERTISE, 
     629                mdiobus_write(bus, i, MII_ADVERTISE, 
    630630                        ADVERTISE_ALL | ADVERTISE_PAUSE_CAP | ADVERTISE_PAUSE_ASYM); 
    631                 bus->write(bus, i, MII_CTRL1000, ADVERTISE_1000FULL); 
    632                 bus->write(bus, i, MII_BMCR, BMCR_RESET | BMCR_ANENABLE); 
     631                mdiobus_write(bus, i, MII_CTRL1000, ADVERTISE_1000FULL); 
     632                mdiobus_write(bus, i, MII_BMCR, BMCR_RESET | BMCR_ANENABLE); 
    633633                msleep(1000); 
    634634        } 
Note: See TracChangeset for help on using the changeset viewer.