diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2013-12-17 22:14:10 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2013-12-17 22:14:10 +0000 |
commit | 8b712436f37cea6b25e5a717042ab10b85fab3be (patch) | |
tree | 087abb54899f0b3ba948701f2d3d53fdde21c47d /target/linux/ar71xx/files | |
parent | ba860e4c3a58963866c281c490f3e9785f269ad6 (diff) | |
download | upstream-8b712436f37cea6b25e5a717042ab10b85fab3be.tar.gz upstream-8b712436f37cea6b25e5a717042ab10b85fab3be.tar.bz2 upstream-8b712436f37cea6b25e5a717042ab10b85fab3be.zip |
ar71xx: implement callback in mdio reset
This enables us to add fixups to the board specific code for boards that
require special treatment of PHYs on mdio bus reset.
Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
http://patchwork.openwrt.org/patch/4614/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 39127
Diffstat (limited to 'target/linux/ar71xx/files')
-rw-r--r-- | target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h | 2 | ||||
-rw-r--r-- | target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h index 656a6ef860..68aea202bd 100644 --- a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h +++ b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ath79/ag71xx_platform.h @@ -55,6 +55,8 @@ struct ag71xx_mdio_platform_data { u8 is_ar934x:1; unsigned long mdio_clock; unsigned long ref_clock; + + void (*reset)(struct mii_bus *bus); }; #endif /* __ASM_MACH_ATH79_PLATFORM_H */ diff --git a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c index ec8823341e..71ae8258b2 100644 --- a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c +++ b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c @@ -181,6 +181,9 @@ static int ag71xx_mdio_reset(struct mii_bus *bus) ag71xx_mdio_wr(am, AG71XX_REG_MII_CFG, t); udelay(100); + if (am->pdata->reset) + am->pdata->reset(bus); + return 0; } |