diff options
Diffstat (limited to 'target/linux/ar71xx/patches-3.3')
-rw-r--r-- | target/linux/ar71xx/patches-3.3/511-MIPS-ath79-add-ath79_set_usb_power_gpio.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/target/linux/ar71xx/patches-3.3/511-MIPS-ath79-add-ath79_set_usb_power_gpio.patch b/target/linux/ar71xx/patches-3.3/511-MIPS-ath79-add-ath79_set_usb_power_gpio.patch new file mode 100644 index 0000000000..fa81789713 --- /dev/null +++ b/target/linux/ar71xx/patches-3.3/511-MIPS-ath79-add-ath79_set_usb_power_gpio.patch @@ -0,0 +1,47 @@ +--- a/arch/mips/ath79/dev-usb.c ++++ b/arch/mips/ath79/dev-usb.c +@@ -15,6 +15,7 @@ + #include <linux/init.h> + #include <linux/delay.h> + #include <linux/irq.h> ++#include <linux/gpio.h> + #include <linux/dma-mapping.h> + #include <linux/platform_device.h> + #include <linux/usb/ehci_pdriver.h> +@@ -236,3 +237,26 @@ void __init ath79_register_usb(void) + else + BUG(); + } ++ ++void __init ath79_set_usb_power_gpio(unsigned int gpio, unsigned long flags, ++ const char *label) ++{ ++ int err; ++ ++ err = gpio_request_one(gpio, flags, label); ++ if (err) { ++ pr_err("ath79: can't setup GPIO%u (%s), err=%d\n", ++ gpio, label, err); ++ return; ++ } ++ ++ err = gpio_export(gpio, false); ++ if (err) { ++ pr_err("ath79: can't export GPIO%u (%s), err=%d\n", ++ gpio, label, err); ++ } ++ ++ return; ++} ++ ++ +--- a/arch/mips/ath79/dev-usb.h ++++ b/arch/mips/ath79/dev-usb.h +@@ -13,5 +13,7 @@ + #define _ATH79_DEV_USB_H + + void ath79_register_usb(void); ++void ath79_set_usb_power_gpio(unsigned int gpio, unsigned long flags, ++ const char *label); + + #endif /* _ATH79_DEV_USB_H */ |