Signed-off-by: Rafał Miłecki <[email protected]>
---
 ...IPS-BCM47XX-Add-new-file-for-device-specific-workar.patch | 12 +++++++++---
 ...IPS-BCM47XX-Add-new-file-for-device-specific-workar.patch | 12 +++++++++---
 2 files changed, 18 insertions(+), 6 deletions(-)

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
index 0e291f8..5603a53 100644
--- 
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
@@ -44,7 +44,7 @@ V2: Drop pr_debug for devices we don't need workarounds for. 
It was too
  }
 --- /dev/null
 +++ b/arch/mips/bcm47xx/workarounds.c
-@@ -0,0 +1,25 @@
+@@ -0,0 +1,31 @@
 +#include "bcm47xx_private.h"
 +
 +#include <linux/gpio.h>
@@ -53,8 +53,14 @@ V2: Drop pr_debug for devices we don't need workarounds for. 
It was too
 +
 +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);
++      const int usb_power = 12;
++      int err;
++
++      err = gpio_request_one(usb_power, GPIOF_OUT_INIT_HIGH, "usb_power");
++      if (err)
++              pr_err("Failed to request USB power gpio: %d\n", err);
++      else
++              gpio_free(usb_power);
 +}
 +
 +void __init bcm47xx_workarounds(void)
diff --git 
a/target/linux/brcm47xx/patches-3.14/128-MIPS-BCM47XX-Add-new-file-for-device-specific-workar.patch
 
b/target/linux/brcm47xx/patches-3.14/128-MIPS-BCM47XX-Add-new-file-for-device-specific-workar.patch
index a1ebd20..e5bdb97 100644
--- 
a/target/linux/brcm47xx/patches-3.14/128-MIPS-BCM47XX-Add-new-file-for-device-specific-workar.patch
+++ 
b/target/linux/brcm47xx/patches-3.14/128-MIPS-BCM47XX-Add-new-file-for-device-specific-workar.patch
@@ -44,7 +44,7 @@ V2: Drop pr_debug for devices we don't need workarounds for. 
It was too
        return 0;
 --- /dev/null
 +++ b/arch/mips/bcm47xx/workarounds.c
-@@ -0,0 +1,25 @@
+@@ -0,0 +1,31 @@
 +#include "bcm47xx_private.h"
 +
 +#include <linux/gpio.h>
@@ -53,8 +53,14 @@ V2: Drop pr_debug for devices we don't need workarounds for. 
It was too
 +
 +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);
++      const int usb_power = 12;
++      int err;
++
++      err = gpio_request_one(usb_power, GPIOF_OUT_INIT_HIGH, "usb_power");
++      if (err)
++              pr_err("Failed to request USB power gpio: %d\n", err);
++      else
++              gpio_free(usb_power);
 +}
 +
 +void __init bcm47xx_workarounds(void)
-- 
1.8.4.5
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to