aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2015-10-26 10:39:53 +0000
committerJohn Crispin <blogic@openwrt.org>2015-10-26 10:39:53 +0000
commit5e4d2b2ea463f35dfe91bfc8226b064668dd2cc9 (patch)
tree3bc97b023eaed96fddaf25bb0a4e60fbb7779213
parent473cf39cd91258ccc02e198c79035848c71b2c18 (diff)
downloadmaster-187ad058-5e4d2b2ea463f35dfe91bfc8226b064668dd2cc9.tar.gz
master-187ad058-5e4d2b2ea463f35dfe91bfc8226b064668dd2cc9.tar.bz2
master-187ad058-5e4d2b2ea463f35dfe91bfc8226b064668dd2cc9.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> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@47272 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--target/linux/generic/files/drivers/net/phy/adm6996.c6
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,},
};