kernel: port b53 to use kernel 4.5+ API
For backward 4.4 compatibility I added patch reverting my changes. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
This commit is contained in:
parent
26bc05eda9
commit
b008357960
3 changed files with 96 additions and 17 deletions
|
@ -277,11 +277,11 @@ static int b53_phy_probe(struct phy_device *phydev)
|
|||
int ret;
|
||||
|
||||
/* allow the generic phy driver to take over */
|
||||
if (phydev->addr != B53_PSEUDO_PHY && phydev->addr != 0)
|
||||
if (phydev->mdio.addr != B53_PSEUDO_PHY && phydev->mdio.addr != 0)
|
||||
return -ENODEV;
|
||||
|
||||
dev.current_page = 0xff;
|
||||
dev.priv = phydev->bus;
|
||||
dev.priv = phydev->mdio.bus;
|
||||
dev.ops = &b53_mdio_ops;
|
||||
dev.pdata = NULL;
|
||||
mutex_init(&dev.reg_mutex);
|
||||
|
@ -305,7 +305,7 @@ static int b53_phy_config_init(struct phy_device *phydev)
|
|||
struct b53_device *dev;
|
||||
int ret;
|
||||
|
||||
dev = b53_switch_alloc(&phydev->dev, &b53_mdio_ops, phydev->bus);
|
||||
dev = b53_switch_alloc(&phydev->mdio.dev, &b53_mdio_ops, phydev->mdio.bus);
|
||||
if (!dev)
|
||||
return -ENOMEM;
|
||||
|
||||
|
@ -372,9 +372,6 @@ static struct phy_driver b53_phy_driver_id1 = {
|
|||
.config_aneg = b53_phy_config_aneg,
|
||||
.config_init = b53_phy_config_init,
|
||||
.read_status = b53_phy_read_status,
|
||||
.driver = {
|
||||
.owner = THIS_MODULE,
|
||||
},
|
||||
};
|
||||
|
||||
/* BCM53125, BCM53128 */
|
||||
|
@ -388,9 +385,6 @@ static struct phy_driver b53_phy_driver_id2 = {
|
|||
.config_aneg = b53_phy_config_aneg,
|
||||
.config_init = b53_phy_config_init,
|
||||
.read_status = b53_phy_read_status,
|
||||
.driver = {
|
||||
.owner = THIS_MODULE,
|
||||
},
|
||||
};
|
||||
|
||||
/* BCM5365 */
|
||||
|
@ -404,24 +398,21 @@ static struct phy_driver b53_phy_driver_id3 = {
|
|||
.config_aneg = b53_phy_config_aneg,
|
||||
.config_init = b53_phy_config_init,
|
||||
.read_status = b53_phy_read_status,
|
||||
.driver = {
|
||||
.owner = THIS_MODULE,
|
||||
},
|
||||
};
|
||||
|
||||
int __init b53_phy_driver_register(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = phy_driver_register(&b53_phy_driver_id1);
|
||||
ret = phy_driver_register(&b53_phy_driver_id1, THIS_MODULE);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = phy_driver_register(&b53_phy_driver_id2);
|
||||
ret = phy_driver_register(&b53_phy_driver_id2, THIS_MODULE);
|
||||
if (ret)
|
||||
goto err1;
|
||||
|
||||
ret = phy_driver_register(&b53_phy_driver_id3);
|
||||
ret = phy_driver_register(&b53_phy_driver_id3, THIS_MODULE);
|
||||
if (!ret)
|
||||
return 0;
|
||||
|
||||
|
|
|
@ -28,10 +28,10 @@
|
|||
|
||||
static int b53_phy_fixup(struct phy_device *dev)
|
||||
{
|
||||
struct mii_bus *bus = dev->mdio.bus;
|
||||
u32 phy_id;
|
||||
struct mii_bus *bus = dev->bus;
|
||||
|
||||
if (dev->addr != B53_PSEUDO_PHY)
|
||||
if (dev->mdio.addr != B53_PSEUDO_PHY)
|
||||
return 0;
|
||||
|
||||
/* read the first port's id */
|
||||
|
|
|
@ -0,0 +1,88 @@
|
|||
--- a/drivers/net/phy/b53/b53_mdio.c
|
||||
+++ b/drivers/net/phy/b53/b53_mdio.c
|
||||
@@ -277,11 +277,11 @@ static int b53_phy_probe(struct phy_devi
|
||||
int ret;
|
||||
|
||||
/* allow the generic phy driver to take over */
|
||||
- if (phydev->mdio.addr != B53_PSEUDO_PHY && phydev->mdio.addr != 0)
|
||||
+ if (phydev->addr != B53_PSEUDO_PHY && phydev->addr != 0)
|
||||
return -ENODEV;
|
||||
|
||||
dev.current_page = 0xff;
|
||||
- dev.priv = phydev->mdio.bus;
|
||||
+ dev.priv = phydev->bus;
|
||||
dev.ops = &b53_mdio_ops;
|
||||
dev.pdata = NULL;
|
||||
mutex_init(&dev.reg_mutex);
|
||||
@@ -305,7 +305,7 @@ static int b53_phy_config_init(struct ph
|
||||
struct b53_device *dev;
|
||||
int ret;
|
||||
|
||||
- dev = b53_switch_alloc(&phydev->mdio.dev, &b53_mdio_ops, phydev->mdio.bus);
|
||||
+ dev = b53_switch_alloc(&phydev->dev, &b53_mdio_ops, phydev->bus);
|
||||
if (!dev)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -372,6 +372,9 @@ static struct phy_driver b53_phy_driver_
|
||||
.config_aneg = b53_phy_config_aneg,
|
||||
.config_init = b53_phy_config_init,
|
||||
.read_status = b53_phy_read_status,
|
||||
+ .driver = {
|
||||
+ .owner = THIS_MODULE,
|
||||
+ },
|
||||
};
|
||||
|
||||
/* BCM53125, BCM53128 */
|
||||
@@ -385,6 +388,9 @@ static struct phy_driver b53_phy_driver_
|
||||
.config_aneg = b53_phy_config_aneg,
|
||||
.config_init = b53_phy_config_init,
|
||||
.read_status = b53_phy_read_status,
|
||||
+ .driver = {
|
||||
+ .owner = THIS_MODULE,
|
||||
+ },
|
||||
};
|
||||
|
||||
/* BCM5365 */
|
||||
@@ -398,21 +404,24 @@ static struct phy_driver b53_phy_driver_
|
||||
.config_aneg = b53_phy_config_aneg,
|
||||
.config_init = b53_phy_config_init,
|
||||
.read_status = b53_phy_read_status,
|
||||
+ .driver = {
|
||||
+ .owner = THIS_MODULE,
|
||||
+ },
|
||||
};
|
||||
|
||||
int __init b53_phy_driver_register(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
- ret = phy_driver_register(&b53_phy_driver_id1, THIS_MODULE);
|
||||
+ ret = phy_driver_register(&b53_phy_driver_id1);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
- ret = phy_driver_register(&b53_phy_driver_id2, THIS_MODULE);
|
||||
+ ret = phy_driver_register(&b53_phy_driver_id2);
|
||||
if (ret)
|
||||
goto err1;
|
||||
|
||||
- ret = phy_driver_register(&b53_phy_driver_id3, THIS_MODULE);
|
||||
+ ret = phy_driver_register(&b53_phy_driver_id3);
|
||||
if (!ret)
|
||||
return 0;
|
||||
|
||||
--- a/drivers/net/phy/b53/b53_phy_fixup.c
|
||||
+++ b/drivers/net/phy/b53/b53_phy_fixup.c
|
||||
@@ -28,10 +28,10 @@
|
||||
|
||||
static int b53_phy_fixup(struct phy_device *dev)
|
||||
{
|
||||
- struct mii_bus *bus = dev->mdio.bus;
|
||||
u32 phy_id;
|
||||
+ struct mii_bus *bus = dev->bus;
|
||||
|
||||
- if (dev->mdio.addr != B53_PSEUDO_PHY)
|
||||
+ if (dev->addr != B53_PSEUDO_PHY)
|
||||
return 0;
|
||||
|
||||
/* read the first port's id */
|
Loading…
Reference in a new issue