summaryrefslogtreecommitdiff
path: root/target/linux/brcm47xx/patches-3.10/120-MIPS-BCM47XX-Prepare-support-for-LEDs.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm47xx/patches-3.10/120-MIPS-BCM47XX-Prepare-support-for-LEDs.patch')
-rw-r--r--target/linux/brcm47xx/patches-3.10/120-MIPS-BCM47XX-Prepare-support-for-LEDs.patch160
1 files changed, 0 insertions, 160 deletions
diff --git a/target/linux/brcm47xx/patches-3.10/120-MIPS-BCM47XX-Prepare-support-for-LEDs.patch b/target/linux/brcm47xx/patches-3.10/120-MIPS-BCM47XX-Prepare-support-for-LEDs.patch
deleted file mode 100644
index 424d1f0..0000000
--- a/target/linux/brcm47xx/patches-3.10/120-MIPS-BCM47XX-Prepare-support-for-LEDs.patch
+++ /dev/null
@@ -1,160 +0,0 @@
-From 98e54a60a7346ef31cb851b670a238ad428b58fe Mon Sep 17 00:00:00 2001
-From: Rafa? Mi?ecki <zajec5@gmail.com>
-Date: Thu, 2 Jan 2014 13:27:15 +0100
-Subject: [PATCH 029/110] MIPS: BCM47XX: Prepare support for LEDs
-
-So far this is mostly just a proof of concept, database consists of a
-single device. Creating a nice iterateable array wasn't an option
-because devices have different amount of LEDs. And we don't want to
-waste memory just because of support for a device with dozens on LEDs.
-
-Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
-Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
-Acked-by: John Crispin <blogic@openwrt.org>
-Patchwork: http://patchwork.linux-mips.org/patch/6299/
----
- arch/mips/bcm47xx/Kconfig | 2 +
- arch/mips/bcm47xx/Makefile | 2 +-
- arch/mips/bcm47xx/bcm47xx_private.h | 9 +++++
- arch/mips/bcm47xx/leds.c | 73 +++++++++++++++++++++++++++++++++++
- arch/mips/bcm47xx/setup.c | 6 +++
- 5 files changed, 91 insertions(+), 1 deletion(-)
- create mode 100644 arch/mips/bcm47xx/bcm47xx_private.h
- create mode 100644 arch/mips/bcm47xx/leds.c
-
---- a/arch/mips/bcm47xx/Kconfig
-+++ b/arch/mips/bcm47xx/Kconfig
-@@ -12,6 +12,7 @@ config BCM47XX_SSB
- select SSB_PCICORE_HOSTMODE if PCI
- select SSB_DRIVER_GPIO
- select GPIOLIB
-+ select LEDS_GPIO_REGISTER
- default y
- help
- Add support for old Broadcom BCM47xx boards with Sonics Silicon Backplane support.
-@@ -29,6 +30,7 @@ config BCM47XX_BCMA
- select BCMA_DRIVER_PCI_HOSTMODE if PCI
- select BCMA_DRIVER_GPIO
- select GPIOLIB
-+ select LEDS_GPIO_REGISTER
- default y
- help
- Add support for new Broadcom BCM47xx boards with Broadcom specific Advanced Microcontroller Bus.
---- a/arch/mips/bcm47xx/Makefile
-+++ b/arch/mips/bcm47xx/Makefile
-@@ -4,5 +4,5 @@
- #
-
- obj-y += irq.o nvram.o prom.o serial.o setup.o time.o sprom.o
--obj-y += board.o
-+obj-y += board.o leds.o
- obj-$(CONFIG_BCM47XX_SSB) += wgt634u.o
---- /dev/null
-+++ b/arch/mips/bcm47xx/bcm47xx_private.h
-@@ -0,0 +1,9 @@
-+#ifndef LINUX_BCM47XX_PRIVATE_H_
-+#define LINUX_BCM47XX_PRIVATE_H_
-+
-+#include <linux/kernel.h>
-+
-+/* leds.c */
-+void __init bcm47xx_leds_register(void);
-+
-+#endif
---- /dev/null
-+++ b/arch/mips/bcm47xx/leds.c
-@@ -0,0 +1,73 @@
-+#include "bcm47xx_private.h"
-+
-+#include <linux/leds.h>
-+#include <bcm47xx_board.h>
-+
-+static const struct gpio_led
-+bcm47xx_leds_netgear_wndr4500_v1_leds[] __initconst = {
-+ {
-+ .name = "bcm47xx:green:wps",
-+ .gpio = 1,
-+ .active_low = 1,
-+ .default_state = LEDS_GPIO_DEFSTATE_KEEP,
-+ },
-+ {
-+ .name = "bcm47xx:green:power",
-+ .gpio = 2,
-+ .active_low = 1,
-+ .default_state = LEDS_GPIO_DEFSTATE_KEEP,
-+ },
-+ {
-+ .name = "bcm47xx:orange:power",
-+ .gpio = 3,
-+ .active_low = 1,
-+ .default_state = LEDS_GPIO_DEFSTATE_KEEP,
-+ },
-+ {
-+ .name = "bcm47xx:green:usb1",
-+ .gpio = 8,
-+ .active_low = 1,
-+ .default_state = LEDS_GPIO_DEFSTATE_KEEP,
-+ },
-+ {
-+ .name = "bcm47xx:green:2ghz",
-+ .gpio = 9,
-+ .active_low = 1,
-+ .default_state = LEDS_GPIO_DEFSTATE_KEEP,
-+ },
-+ {
-+ .name = "bcm47xx:blue:5ghz",
-+ .gpio = 11,
-+ .active_low = 1,
-+ .default_state = LEDS_GPIO_DEFSTATE_KEEP,
-+ },
-+ {
-+ .name = "bcm47xx:green:usb2",
-+ .gpio = 14,
-+ .active_low = 1,
-+ .default_state = LEDS_GPIO_DEFSTATE_KEEP,
-+ },
-+};
-+
-+static struct gpio_led_platform_data bcm47xx_leds_pdata;
-+
-+#define bcm47xx_set_pdata(dev_leds) do { \
-+ bcm47xx_leds_pdata.leds = dev_leds; \
-+ bcm47xx_leds_pdata.num_leds = ARRAY_SIZE(dev_leds); \
-+} while (0)
-+
-+void __init bcm47xx_leds_register(void)
-+{
-+ enum bcm47xx_board board = bcm47xx_board_get();
-+
-+ switch (board) {
-+ case BCM47XX_BOARD_NETGEAR_WNDR4500V1:
-+ bcm47xx_set_pdata(bcm47xx_leds_netgear_wndr4500_v1_leds);
-+ break;
-+ default:
-+ pr_debug("No LEDs configuration found for this device\n");
-+ return;
-+ }
-+
-+ gpio_led_register_device(-1, &bcm47xx_leds_pdata);
-+}
---- a/arch/mips/bcm47xx/setup.c
-+++ b/arch/mips/bcm47xx/setup.c
-@@ -26,6 +26,8 @@
- * 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-+#include "bcm47xx_private.h"
-+
- #include <linux/export.h>
- #include <linux/types.h>
- #include <linux/ssb/ssb.h>
-@@ -243,6 +245,9 @@ static int __init bcm47xx_register_bus_c
- break;
- #endif
- }
-+
-+ bcm47xx_leds_register();
-+
- return 0;
- }
- device_initcall(bcm47xx_register_bus_complete);