aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/files/drivers/net/phy/ip17xx.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2017-02-02 14:36:50 +0100
committerFelix Fietkau <nbd@nbd.name>2017-02-03 12:35:44 +0100
commit1a52d11d38ddb3cb511a55d01ce4b497322eb1ed (patch)
tree64319d11170480011a50a18124eddcc81b85ba43 /target/linux/generic/files/drivers/net/phy/ip17xx.c
parent402193baa155255f08944a579f1f17e016d6cac2 (diff)
downloadupstream-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.c69
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);