diff options
author | John Crispin <john@openwrt.org> | 2015-10-26 10:39:53 +0000 |
---|---|---|
committer | John Crispin <john@openwrt.org> | 2015-10-26 10:39:53 +0000 |
commit | 7fe0940c6976209b7860b1824d817f04f0ce4969 (patch) | |
tree | 49ed3d1b13eb1f6a6198267dba23bf222b8a1eb6 /target/linux/generic/files/drivers/net/phy | |
parent | b49cbdff6e722a40203beea5a3cc5ce3c6448e72 (diff) | |
download | master-31e0f0ae-7fe0940c6976209b7860b1824d817f04f0ce4969.tar.gz master-31e0f0ae-7fe0940c6976209b7860b1824d817f04f0ce4969.tar.bz2 master-31e0f0ae-7fe0940c6976209b7860b1824d817f04f0ce4969.zip |
generic: fix adm6996 init
Kernel 3.14 added aditional genphy_soft_reset phy reset to phy_init_hw in drivers/net/phy/phy_device.c
Since adm6996 does in driver soft reset and doesn't use BMCR_RESET for soft reset
add dummy soft_reset callback to adm6996 driver, like it is done in ar8216.
This fixes ticket #20147
Signed-off-by: Andrej Vlasic <andrej.vlasic0@gmail.com>
SVN-Revision: 47272
Diffstat (limited to 'target/linux/generic/files/drivers/net/phy')
-rw-r--r-- | target/linux/generic/files/drivers/net/phy/adm6996.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/adm6996.c b/target/linux/generic/files/drivers/net/phy/adm6996.c index bf5ed15933..cada4aa5db 100644 --- a/target/linux/generic/files/drivers/net/phy/adm6996.c +++ b/target/linux/generic/files/drivers/net/phy/adm6996.c @@ -1099,6 +1099,11 @@ static void adm6996_remove(struct phy_device *pdev) unregister_switch(&priv->dev); } +static int adm6996_soft_reset(struct phy_device *phydev) +{ + /* we don't need an extra reset */ + return 0; +} static struct phy_driver adm6996_phy_driver = { .name = "Infineon ADM6996", @@ -1110,6 +1115,7 @@ static struct phy_driver adm6996_phy_driver = { .config_init = &adm6996_config_init, .config_aneg = &adm6996_config_aneg, .read_status = &adm6996_read_status, + .soft_reset = adm6996_soft_reset, .driver = { .owner = THIS_MODULE,}, }; |