On 01/29/2014 07:42 PM, Rafał Miłecki wrote: > It was recently sent to linux-mips for comments. It adds workaround for > WNR3500L to enable USB port. > > Signed-off-by: Rafał Miłecki <[email protected]> > --- > ...X-Add-new-file-for-device-specific-workar.patch | 80 > ++++++++++++++++++++++ > ...se-fixed-PHY-device-if-we-do-not-find-any.patch | 4 +- > .../brcm47xx/patches-3.10/400-arch-bcm47xx.patch | 2 +- > 3 files changed, 83 insertions(+), 3 deletions(-) > create mode 100644 > target/linux/brcm47xx/patches-3.10/128-MIPS-BCM47XX-Add-new-file-for-device-specific-workar.patch > > diff --git > a/target/linux/brcm47xx/patches-3.10/128-MIPS-BCM47XX-Add-new-file-for-device-specific-workar.patch > > b/target/linux/brcm47xx/patches-3.10/128-MIPS-BCM47XX-Add-new-file-for-device-specific-workar.patch > new file mode 100644 > index 0000000..85df79d > --- /dev/null > +++ > b/target/linux/brcm47xx/patches-3.10/128-MIPS-BCM47XX-Add-new-file-for-device-specific-workar.patch > @@ -0,0 +1,80 @@ > +From ba302722b32f6de4655679a83db1cac63c0ac0ae Mon Sep 17 00:00:00 2001 > +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <[email protected]> > +Date: Wed, 29 Jan 2014 18:06:52 +0100 > +Subject: [RFC][PATCH] MIPS: BCM47XX: Add new file for device specific > workarounds > + > +--- > +This can calmly wait for 3.15, just wanted to share it. > +--- > + arch/mips/bcm47xx/Makefile | 2 +- > + arch/mips/bcm47xx/bcm47xx_private.h | 3 +++ > + arch/mips/bcm47xx/setup.c | 1 + > + arch/mips/bcm47xx/workarounds.c | 25 +++++++++++++++++++++++++ > + 4 files changed, 30 insertions(+), 1 deletion(-) > + create mode 100644 arch/mips/bcm47xx/workarounds.c > + > +diff --git a/arch/mips/bcm47xx/Makefile b/arch/mips/bcm47xx/Makefile > +index 4688b6a..d58c51b 100644 > +--- a/arch/mips/bcm47xx/Makefile > ++++ b/arch/mips/bcm47xx/Makefile > +@@ -4,4 +4,4 @@ > + # > + > + obj-y += irq.o nvram.o prom.o serial.o > setup.o time.o sprom.o > +-obj-y += board.o buttons.o leds.o > ++obj-y += board.o buttons.o leds.o > workarounds.o > +diff --git a/arch/mips/bcm47xx/bcm47xx_private.h > b/arch/mips/bcm47xx/bcm47xx_private.h > +index 5c94ace..0194c3b 100644 > +--- a/arch/mips/bcm47xx/bcm47xx_private.h > ++++ b/arch/mips/bcm47xx/bcm47xx_private.h > +@@ -9,4 +9,7 @@ int __init bcm47xx_buttons_register(void > + /* leds.c */ > + void __init bcm47xx_leds_register(void); > + > ++/* workarounds.c */ > ++void __init bcm47xx_workarounds(void); > ++ > + #endif > +diff --git a/arch/mips/bcm47xx/setup.c b/arch/mips/bcm47xx/setup.c > +index 12d77e9..fdd9692 100644 > +--- a/arch/mips/bcm47xx/setup.c > ++++ b/arch/mips/bcm47xx/setup.c > +@@ -248,6 +248,7 @@ static int __init bcm47xx_register_bus_c > + > + bcm47xx_buttons_register(); > + bcm47xx_leds_register(); > ++ bcm47xx_workarounds(); > + > + return 0; > + } > +diff --git a/arch/mips/bcm47xx/workarounds.c > b/arch/mips/bcm47xx/workarounds.c > +new file mode 100644 > +index 0000000..1644bfc > +--- /dev/null > ++++ b/arch/mips/bcm47xx/workarounds.c > +@@ -0,0 +1,25 @@ > ++#include "bcm47xx_private.h" > ++ > ++#include <linux/gpio.h> > ++#include <bcm47xx_board.h> > ++#include <bcm47xx.h> > ++ > ++static void __init bcm47xx_workarounds_netgear_wnr3500l(void) > ++{ > ++ /* Set GPIO 12 to 1 to pass power to the USB port */ > ++ gpio_set_value(12, 1); > ++} > ++ > ++void __init bcm47xx_workarounds(void) > ++{ > ++ enum bcm47xx_board board = bcm47xx_board_get(); > ++ > ++ switch (board) { > ++ case BCM47XX_BOARD_NETGEAR_WNR3500L: > ++ bcm47xx_workarounds_netgear_wnr3500l(); > ++ break; > ++ > ++ default: > ++ pr_debug("No workarounds found (needed?) for this device\n");
Just do nothing in the default case, this would be the case most devices are using. > ++ } > ++} > diff --git > a/target/linux/brcm47xx/patches-3.10/208-b44-use-fixed-PHY-device-if-we-do-not-find-any.patch > > b/target/linux/brcm47xx/patches-3.10/208-b44-use-fixed-PHY-device-if-we-do-not-find-any.patch > index 8974466..94f9875 100644 > --- > a/target/linux/brcm47xx/patches-3.10/208-b44-use-fixed-PHY-device-if-we-do-not-find-any.patch > +++ > b/target/linux/brcm47xx/patches-3.10/208-b44-use-fixed-PHY-device-if-we-do-not-find-any.patch > @@ -43,10 +43,10 @@ Signed-off-by: David S. Miller <[email protected]> > static int __init bcm47xx_register_bus_complete(void) > { > switch (bcm47xx_bus_type) { > -@@ -274,6 +283,7 @@ static int __init bcm47xx_register_bus_c > - > +@@ -275,6 +284,7 @@ static int __init bcm47xx_register_bus_c > bcm47xx_buttons_register(); > bcm47xx_leds_register(); > + bcm47xx_workarounds(); > + fixed_phy_add(PHY_POLL, 0, &bcm47xx_fixed_phy_status); > > return 0; > diff --git a/target/linux/brcm47xx/patches-3.10/400-arch-bcm47xx.patch > b/target/linux/brcm47xx/patches-3.10/400-arch-bcm47xx.patch > index 24ff064..43aeaf1 100644 > --- a/target/linux/brcm47xx/patches-3.10/400-arch-bcm47xx.patch > +++ b/target/linux/brcm47xx/patches-3.10/400-arch-bcm47xx.patch > @@ -36,7 +36,7 @@ > @@ -5,3 +5,4 @@ > > obj-y += irq.o nvram.o prom.o serial.o > setup.o time.o sprom.o > - obj-y += board.o buttons.o leds.o > + obj-y += board.o buttons.o leds.o > workarounds.o > +obj-y += gpio.o > --- /dev/null > +++ b/arch/mips/bcm47xx/gpio.c > _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
