2
0
forked from Ivasoft/openwrt

kernel: update phy drivers for 4.9

add backport patches for older kernels

Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
Felix Fietkau
2017-02-02 14:36:50 +01:00
parent 402193baa1
commit 1a52d11d38
9 changed files with 1193 additions and 133 deletions

View File

@@ -50,13 +50,17 @@ struct mvswitch_priv {
static inline u16
r16(struct phy_device *phydev, int addr, int reg)
{
return phydev->bus->read(phydev->bus, addr, reg);
struct mii_bus *bus = phydev->mdio.bus;
return bus->read(bus, addr, reg);
}
static inline void
w16(struct phy_device *phydev, int addr, int reg, u16 val)
{
phydev->bus->write(phydev->bus, addr, reg, val);
struct mii_bus *bus = phydev->mdio.bus;
bus->write(bus, addr, reg, val);
}
@@ -388,12 +392,13 @@ mvswitch_probe(struct phy_device *pdev)
static int
mvswitch_fixup(struct phy_device *dev)
{
struct mii_bus *bus = dev->mdio.bus;
u16 reg;
if (dev->addr != 0x10)
if (dev->mdio.addr != 0x10)
return 0;
reg = dev->bus->read(dev->bus, MV_PORTREG(IDENT, 0)) & MV_IDENT_MASK;
reg = bus->read(bus, MV_PORTREG(IDENT, 0)) & MV_IDENT_MASK;
if (reg != MV_IDENT_VALUE)
return 0;
@@ -413,14 +418,13 @@ static struct phy_driver mvswitch_driver = {
.config_init = &mvswitch_config_init,
.config_aneg = &mvswitch_config_aneg,
.read_status = &mvswitch_read_status,
.driver = { .owner = THIS_MODULE,},
};
static int __init
mvswitch_init(void)
{
phy_register_fixup_for_id(PHY_ANY_ID, mvswitch_fixup);
return phy_driver_register(&mvswitch_driver);
return phy_driver_register(&mvswitch_driver, THIS_MODULE);
}
static void __exit