diff options
author | Felix Fietkau <nbd@nbd.name> | 2017-02-02 14:36:50 +0100 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2017-02-03 12:35:44 +0100 |
commit | 1a52d11d38ddb3cb511a55d01ce4b497322eb1ed (patch) | |
tree | 64319d11170480011a50a18124eddcc81b85ba43 /target/linux/generic/files/drivers/net/phy/ip17xx.c | |
parent | 402193baa155255f08944a579f1f17e016d6cac2 (diff) | |
download | upstream-1a52d11d38ddb3cb511a55d01ce4b497322eb1ed.tar.gz upstream-1a52d11d38ddb3cb511a55d01ce4b497322eb1ed.tar.bz2 upstream-1a52d11d38ddb3cb511a55d01ce4b497322eb1ed.zip |
kernel: update phy drivers for 4.9
add backport patches for older kernels
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'target/linux/generic/files/drivers/net/phy/ip17xx.c')
-rw-r--r-- | target/linux/generic/files/drivers/net/phy/ip17xx.c | 69 |
1 files changed, 18 insertions, 51 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/ip17xx.c b/target/linux/generic/files/drivers/net/phy/ip17xx.c index a4fe53dc5b..9eedfd4d28 100644 --- a/target/linux/generic/files/drivers/net/phy/ip17xx.c +++ b/target/linux/generic/files/drivers/net/phy/ip17xx.c @@ -1273,7 +1273,7 @@ static int ip17xx_probe(struct phy_device *pdev) int err; /* We only attach to PHY 0, but use all available PHYs */ - if (pdev->addr != 0) + if (pdev->mdio.addr != 0) return -ENODEV; state = kzalloc(sizeof(*state), GFP_KERNEL); @@ -1283,7 +1283,7 @@ static int ip17xx_probe(struct phy_device *pdev) dev = &state->dev; pdev->priv = state; - state->mii_bus = pdev->bus; + state->mii_bus = pdev->mdio.bus; err = get_model(state); if (err < 0) @@ -1295,7 +1295,7 @@ static int ip17xx_probe(struct phy_device *pdev) dev->name = state->regs->NAME; dev->ops = &ip17xx_ops; - pr_info("IP17xx: Found %s at %s\n", dev->name, dev_name(&pdev->dev)); + pr_info("IP17xx: Found %s at %s\n", dev->name, dev_name(&pdev->mdio.dev)); return 0; error: @@ -1353,58 +1353,25 @@ static int ip17xx_read_status(struct phy_device *pdev) return 0; } -static struct phy_driver ip17xx_driver = { - .name = "IC+ IP17xx", - .phy_id = 0x02430c00, - .phy_id_mask = 0x0ffffc00, - .features = PHY_BASIC_FEATURES, - .probe = ip17xx_probe, - .remove = ip17xx_remove, - .config_init = ip17xx_config_init, - .config_aneg = ip17xx_config_aneg, - .aneg_done = ip17xx_aneg_done, - .update_link = ip17xx_update_link, - .read_status = ip17xx_read_status, - .driver = { .owner = THIS_MODULE }, -}; - -static struct phy_driver ip175a_driver = { - .name = "IC+ IP175A", - .phy_id = 0x02430c50, - .phy_id_mask = 0x0ffffff0, - .features = PHY_BASIC_FEATURES, - .probe = ip17xx_probe, - .remove = ip17xx_remove, - .config_init = ip17xx_config_init, - .config_aneg = ip17xx_config_aneg, - .aneg_done = ip17xx_aneg_done, - .update_link = ip17xx_update_link, - .read_status = ip17xx_read_status, - .driver = { .owner = THIS_MODULE }, +static struct phy_driver ip17xx_driver[] = { + { + .name = "IC+ IP17xx", + .phy_id = 0x02430c00, + .phy_id_mask = 0x0ffffc00, + .features = PHY_BASIC_FEATURES, + .probe = ip17xx_probe, + .remove = ip17xx_remove, + .config_init = ip17xx_config_init, + .config_aneg = ip17xx_config_aneg, + .aneg_done = ip17xx_aneg_done, + .update_link = ip17xx_update_link, + .read_status = ip17xx_read_status, + } }; - -int __init ip17xx_init(void) -{ - int ret; - - ret = phy_driver_register(&ip175a_driver); - if (ret < 0) - return ret; - - return phy_driver_register(&ip17xx_driver); -} - -void __exit ip17xx_exit(void) -{ - phy_driver_unregister(&ip17xx_driver); - phy_driver_unregister(&ip175a_driver); -} +module_phy_driver(ip17xx_driver); MODULE_AUTHOR("Patrick Horn <patrick.horn@gmail.com>"); MODULE_AUTHOR("Felix Fietkau <nbd@nbd.name>"); MODULE_AUTHOR("Martin Mares <mj@ucw.cz>"); MODULE_LICENSE("GPL"); - -module_init(ip17xx_init); -module_exit(ip17xx_exit); |