From: Kevin Hilman Date: Thu, 10 Oct 2013 22:42:03 +0000 (-0700) Subject: Merge tag 'renesas-cleanup2-for-v3.13' of git://git.kernel.org/pub/scm/linux/kernel... X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=65009d43e7d3529f85882874bfe5386cdc547945;p=linux-beck.git Merge tag 'renesas-cleanup2-for-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup From Simon Horman: Second round of Renesas ARM based SoC cleanups for v3.13 * Constify platform data and resources in lager board code * Clean up registration of VIN and sh_eth in r8a7778 SoC and bockw board code * Make r8a7778_register_hspi() static in r8a7778 SoC code * tag 'renesas-cleanup2-for-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: lager: Constify platform data and resources ARM: shmobile: r8a7778: r8a7778_register_hspi() become static ARM: shmobile: r8a7778: cleanup registration of sh_eth ARM: shmobile: r8a7778: cleanup registration of vin Signed-off-by: Kevin Hilman Conflicts: arch/arm/mach-shmobile/board-lager.c --- 65009d43e7d3529f85882874bfe5386cdc547945 diff --cc arch/arm/mach-shmobile/board-lager.c index 6569491839cf,afd51375075f..66edb7e10089 --- a/arch/arm/mach-shmobile/board-lager.c +++ b/arch/arm/mach-shmobile/board-lager.c @@@ -156,31 -155,7 +156,31 @@@ static void __init lager_add_standard_d ðer_pdata, sizeof(ether_pdata)); } +/* + * Ether LEDs on the Lager board are named LINK and ACTIVE which corresponds + * to non-default 01 setting of the Micrel KSZ8041 PHY control register 1 bits + * 14-15. We have to set them back to 01 from the default 00 value each time + * the PHY is reset. It's also important because the PHY's LED0 signal is + * connected to SoC's ETH_LINK signal and in the PHY's default mode it will + * bounce on and off after each packet, which we apparently want to avoid. + */ +static int lager_ksz8041_fixup(struct phy_device *phydev) +{ + u16 phyctrl1 = phy_read(phydev, 0x1e); + + phyctrl1 &= ~0xc000; + phyctrl1 |= 0x4000; + return phy_write(phydev, 0x1e, phyctrl1); +} + +static void __init lager_init(void) +{ + lager_add_standard_devices(); + + phy_register_fixup_for_id("r8a7790-ether-ff:01", lager_ksz8041_fixup); +} + - static const char *lager_boards_compat_dt[] __initdata = { + static const char * const lager_boards_compat_dt[] __initconst = { "renesas,lager", NULL, };