ar71xx: move leds-gpio device support into a spearate file
authorGabor Juhos <juhosg@openwrt.org>
Sat, 26 Dec 2009 14:18:54 +0000 (14:18 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Sat, 26 Dec 2009 14:18:54 +0000 (14:18 +0000)
SVN-Revision: 18936

29 files changed:
target/linux/ar71xx/config-2.6.30
target/linux/ar71xx/config-2.6.31
target/linux/ar71xx/config-2.6.32
target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig
target/linux/ar71xx/files/arch/mips/ar71xx/Makefile
target/linux/ar71xx/files/arch/mips/ar71xx/dev-leds-gpio.c [new file with mode: 0644]
target/linux/ar71xx/files/arch/mips/ar71xx/dev-leds-gpio.h [new file with mode: 0644]
target/linux/ar71xx/files/arch/mips/ar71xx/devices.c
target/linux/ar71xx/files/arch/mips/ar71xx/devices.h
target/linux/ar71xx/files/arch/mips/ar71xx/mach-ap81.c
target/linux/ar71xx/files/arch/mips/ar71xx/mach-ap83.c
target/linux/ar71xx/files/arch/mips/ar71xx/mach-aw-nr580.c
target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-615-c1.c
target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-825-b1.c
target/linux/ar71xx/files/arch/mips/ar71xx/mach-mzk-w04nu.c
target/linux/ar71xx/files/arch/mips/ar71xx/mach-mzk-w300nh.c
target/linux/ar71xx/files/arch/mips/ar71xx/mach-pb44.c
target/linux/ar71xx/files/arch/mips/ar71xx/mach-rb-4xx.c
target/linux/ar71xx/files/arch/mips/ar71xx/mach-tew-632brp.c
target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr1043nd.c
target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr741nd.c
target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr841n.c
target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr941nd.c
target/linux/ar71xx/files/arch/mips/ar71xx/mach-ubnt.c
target/linux/ar71xx/files/arch/mips/ar71xx/mach-wndr3700.c
target/linux/ar71xx/files/arch/mips/ar71xx/mach-wnr2000.c
target/linux/ar71xx/files/arch/mips/ar71xx/mach-wp543.c
target/linux/ar71xx/files/arch/mips/ar71xx/mach-wrt160nl.c
target/linux/ar71xx/files/arch/mips/ar71xx/mach-wrt400n.c

index 84aa232..1c01155 100644 (file)
@@ -6,6 +6,7 @@ CONFIG_AG71XX_AR8216_SUPPORT=y
 CONFIG_AR71XX_DEV_AP91_PCI=y
 CONFIG_AR71XX_DEV_AP94_PCI=y
 CONFIG_AR71XX_DEV_AR913X_WMAC=y
+CONFIG_AR71XX_DEV_LEDS_GPIO=y
 CONFIG_AR71XX_DEV_M25P80=y
 CONFIG_AR71XX_DEV_PB42_PCI=y
 CONFIG_AR71XX_MACH_AP81=y
index 3b2af9c..5b6bb57 100644 (file)
@@ -8,6 +8,7 @@ CONFIG_AG71XX_AR8216_SUPPORT=y
 CONFIG_AR71XX_DEV_AP91_PCI=y
 CONFIG_AR71XX_DEV_AP94_PCI=y
 CONFIG_AR71XX_DEV_AR913X_WMAC=y
+CONFIG_AR71XX_DEV_LEDS_GPIO=y
 CONFIG_AR71XX_DEV_M25P80=y
 CONFIG_AR71XX_DEV_PB42_PCI=y
 CONFIG_AR71XX_MACH_AP81=y
index 566495f..1b6b3b0 100644 (file)
@@ -8,6 +8,7 @@ CONFIG_AG71XX_AR8216_SUPPORT=y
 CONFIG_AR71XX_DEV_AP91_PCI=y
 CONFIG_AR71XX_DEV_AP94_PCI=y
 CONFIG_AR71XX_DEV_AR913X_WMAC=y
+CONFIG_AR71XX_DEV_LEDS_GPIO=y
 CONFIG_AR71XX_DEV_M25P80=y
 CONFIG_AR71XX_DEV_PB42_PCI=y
 CONFIG_AR71XX_MACH_AP81=y
index d1ff1be..08d0397 100644 (file)
@@ -6,23 +6,27 @@ config AR71XX_MACH_AP81
        bool "Atheros AP81 board support"
        select AR71XX_DEV_M25P80
        select AR71XX_DEV_AR913X_WMAC
+       select AR71XX_DEV_LEDS_GPIO
        default y
 
 config AR71XX_MACH_AP83
        bool "Atheros AP83 board support"
        select AR71XX_DEV_AR913X_WMAC
+       select AR71XX_DEV_LEDS_GPIO
        default y
 
 config AR71XX_MACH_DIR_615_C1
        bool "D-Link DIR-615 rev. C1 support"
        select AR71XX_DEV_M25P80
        select AR71XX_DEV_AR913X_WMAC
+       select AR71XX_DEV_LEDS_GPIO
        default y
 
 config AR71XX_MACH_DIR_825_B1
        bool "D-Link DIR-825 rev. B1 board support"
        select AR71XX_DEV_M25P80
        select AR71XX_DEV_AP94_PCI if PCI
+       select AR71XX_DEV_LEDS_GPIO
        default y
 
 config AR71XX_MACH_PB42
@@ -34,12 +38,14 @@ config AR71XX_MACH_PB42
 config AR71XX_MACH_PB44
        bool "Atheros PB44 board support"
        select AR71XX_DEV_PB42_PCI if PCI
+       select AR71XX_DEV_LEDS_GPIO
        default y
 
 config AR71XX_MACH_AW_NR580
        bool "AzureWave AW-NR580 board support"
        select AR71XX_DEV_M25P80
        select AR71XX_DEV_PB42_PCI if PCI
+       select AR71XX_DEV_LEDS_GPIO
        default y
 
 config AR71XX_MACH_GENERIC
@@ -51,81 +57,95 @@ config AR71XX_MACH_WP543
        select MYLOADER
        select AR71XX_DEV_M25P80
        select AR71XX_DEV_PB42_PCI if PCI
+       select AR71XX_DEV_LEDS_GPIO
        default y
 
 config AR71XX_MACH_WRT160NL
        bool "Linksys WRT160NL board support"
        select AR71XX_DEV_M25P80
        select AR71XX_DEV_AR913X_WMAC
+       select AR71XX_DEV_LEDS_GPIO
        default y
 
 config AR71XX_MACH_WRT400N
        bool "Linksys WRT400N board support"
        select AR71XX_DEV_M25P80
+       select AR71XX_DEV_LEDS_GPIO
        default y
 
 config AR71XX_MACH_RB_4XX
        bool "MikroTik RouterBOARD 4xx series support"
+       select AR71XX_DEV_LEDS_GPIO
        default y
 
 config AR71XX_MACH_WNDR3700
        bool "NETGEAR WNDR3700 board support"
        select AR71XX_DEV_M25P80
        select AR71XX_DEV_AP94_PCI if PCI
+       select AR71XX_DEV_LEDS_GPIO
        default y
 
 config AR71XX_MACH_WNR2000
        bool "NETGEAR WNR2000 board support"
        select AR71XX_DEV_M25P80
        select AR71XX_DEV_AR913X_WMAC
+       select AR71XX_DEV_LEDS_GPIO
        default y
 
 config AR71XX_MACH_MZK_W04NU
        bool "Planex MZK-W04NU board support"
        select AR71XX_DEV_M25P80
        select AR71XX_DEV_AR913X_WMAC
+       select AR71XX_DEV_LEDS_GPIO
        default y
 
 config AR71XX_MACH_MZK_W300NH
        bool "Planex MZK-W300NH board support"
        select AR71XX_DEV_M25P80
        select AR71XX_DEV_AR913X_WMAC
+       select AR71XX_DEV_LEDS_GPIO
        default y
 
 config AR71XX_MACH_TL_WR741ND
        bool "TP-LINK TL-WR741ND support"
        select AR71XX_DEV_M25P80
        select AR71XX_DEV_AP91_PCI if PCI
+       select AR71XX_DEV_LEDS_GPIO
        default y
 
 config AR71XX_MACH_TL_WR841N_V1
        bool "TP-LINK TL-WR841N v1 support"
        select AR71XX_DEV_M25P80
        select AR71XX_DEV_PB42_PCI if PCI
+       select AR71XX_DEV_LEDS_GPIO
        default y
 
 config AR71XX_MACH_TL_WR941ND
        bool "TP-LINK TL-WR941ND support"
        select AR71XX_DEV_M25P80
        select AR71XX_DEV_AR913X_WMAC
+       select AR71XX_DEV_LEDS_GPIO
        default y
 
 config AR71XX_MACH_TL_WR1043ND
        bool "TP-LINK TL-WR1043ND support"
        select AR71XX_DEV_M25P80
        select AR71XX_DEV_AR913X_WMAC
+       select AR71XX_DEV_LEDS_GPIO
        default y
 
 config AR71XX_MACH_TEW_632BRP
        bool "TRENDnet TEW-632BRP support"
        select AR71XX_DEV_M25P80
        select AR71XX_DEV_AR913X_WMAC
+       select AR71XX_DEV_LEDS_GPIO
        default y
 
 config AR71XX_MACH_UBNT
        bool "Ubiquiti AR71xx based boards support"
        select AR71XX_DEV_M25P80
        select AR71XX_DEV_AP91_PCI if PCI
+       select AR71XX_DEV_LEDS_GPIO
        select AR71XX_DEV_PB42_PCI if PCI
        default y
 
@@ -143,6 +163,9 @@ config AR71XX_DEV_AP94_PCI
 config AR71XX_DEV_AR913X_WMAC
        def_bool n
 
+config AR71XX_DEV_LEDS_GPIO
+       def_bool n
+
 config AR71XX_DEV_PB42_PCI
        def_bool n
 
index fed466d..fee95bd 100644 (file)
@@ -16,6 +16,7 @@ obj-$(CONFIG_PCI)                     += pci.o
 obj-$(CONFIG_AR71XX_DEV_AP91_PCI)      += dev-ap91-pci.o
 obj-$(CONFIG_AR71XX_DEV_AP94_PCI)      += dev-ap94-pci.o
 obj-$(CONFIG_AR71XX_DEV_AR913X_WMAC)   += dev-ar913x-wmac.o
+obj-$(CONFIG_AR71XX_DEV_LEDS_GPIO)     += dev-leds-gpio.o
 obj-$(CONFIG_AR71XX_DEV_M25P80)                += dev-m25p80.o
 obj-$(CONFIG_AR71XX_DEV_PB42_PCI)      += dev-pb42-pci.o
 
diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-leds-gpio.c b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-leds-gpio.c
new file mode 100644 (file)
index 0000000..7066ddc
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ *  Atheros AR71xx GPIO LED device support
+ *
+ *  Copyright (C) 2008-2009 Gabor Juhos <juhosg@openwrt.org>
+ *  Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
+ *
+ *  Parts of this file are based on Atheros' 2.6.15 BSP
+ *
+ *  This program is free software; you can redistribute it and/or modify it
+ *  under the terms of the GNU General Public License version 2 as published
+ *  by the Free Software Foundation.
+ */
+
+#include <linux/init.h>
+#include <linux/platform_device.h>
+
+#include "dev-leds-gpio.h"
+
+void __init ar71xx_add_device_leds_gpio(int id, unsigned num_leds,
+                                       struct gpio_led *leds)
+{
+       struct platform_device *pdev;
+       struct gpio_led_platform_data pdata;
+       struct gpio_led *p;
+       int err;
+
+       p = kmalloc(num_leds * sizeof(*p), GFP_KERNEL);
+       if (!p)
+               return;
+
+       memcpy(p, leds, num_leds * sizeof(*p));
+
+       pdev = platform_device_alloc("leds-gpio", id);
+       if (!pdev)
+               goto err_free_leds;
+
+       memset(&pdata, 0, sizeof(pdata));
+       pdata.num_leds = num_leds;
+       pdata.leds = p;
+
+       err = platform_device_add_data(pdev, &pdata, sizeof(pdata));
+       if (err)
+               goto err_put_pdev;
+
+       err = platform_device_add(pdev);
+       if (err)
+               goto err_put_pdev;
+
+       return;
+
+err_put_pdev:
+       platform_device_put(pdev);
+
+err_free_leds:
+       kfree(p);
+}
diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-leds-gpio.h b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-leds-gpio.h
new file mode 100644 (file)
index 0000000..ab4a89d
--- /dev/null
@@ -0,0 +1,21 @@
+/*
+ *  Atheros AR71xx GPIO LED device support
+ *
+ *  Copyright (C) 2008-2009 Gabor Juhos <juhosg@openwrt.org>
+ *  Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
+ *
+ *  This program is free software; you can redistribute it and/or modify it
+ *  under the terms of the GNU General Public License version 2 as published
+ *  by the Free Software Foundation.
+ */
+
+#ifndef _AR71XX_DEV_LEDS_GPIO_H
+#define _AR71XX_DEV_LEDS_GPIO_H
+
+#include <linux/leds.h>
+
+void ar71xx_add_device_leds_gpio(int id,
+                                unsigned num_leds,
+                                struct gpio_led *leds) __init;
+
+#endif /* _AR71XX_DEV_LEDS_GPIO_H */
index 6f6ec42..e2e08bb 100644 (file)
@@ -665,45 +665,6 @@ void __init ar71xx_add_device_spi(struct ar71xx_spi_platform_data *pdata,
        platform_device_register(&ar71xx_spi_device);
 }
 
-void __init ar71xx_add_device_leds_gpio(int id, unsigned num_leds,
-                               struct gpio_led *leds)
-{
-       struct platform_device *pdev;
-       struct gpio_led_platform_data pdata;
-       struct gpio_led *p;
-       int err;
-
-       p = kmalloc(num_leds * sizeof(*p), GFP_KERNEL);
-       if (!p)
-               return;
-
-       memcpy(p, leds, num_leds * sizeof(*p));
-
-       pdev = platform_device_alloc("leds-gpio", id);
-       if (!pdev)
-               goto err_free_leds;
-
-       memset(&pdata, 0, sizeof(pdata));
-       pdata.num_leds = num_leds;
-       pdata.leds = p;
-
-       err = platform_device_add_data(pdev, &pdata, sizeof(pdata));
-       if (err)
-               goto err_put_pdev;
-
-       err = platform_device_add(pdev);
-       if (err)
-               goto err_put_pdev;
-
-       return;
-
-err_put_pdev:
-       platform_device_put(pdev);
-
-err_free_leds:
-       kfree(p);
-}
-
 void __init ar71xx_add_device_gpio_buttons(int id,
                                           unsigned poll_interval,
                                           unsigned nbuttons,
index 1408629..3e4eaeb 100644 (file)
@@ -14,7 +14,6 @@
 
 #include <asm/mach-ar71xx/platform.h>
 
-#include <linux/leds.h>
 #include <linux/gpio_buttons.h>
 #include <net/dsa.h>
 
@@ -40,10 +39,6 @@ void ar71xx_add_device_eth(unsigned int id) __init;
 
 void ar71xx_add_device_mdio(u32 phy_mask) __init;
 
-void ar71xx_add_device_leds_gpio(int id,
-                                unsigned num_leds,
-                                struct gpio_led *leds) __init;
-
 void ar71xx_add_device_gpio_buttons(int id,
                                    unsigned poll_interval,
                                    unsigned nbuttons,
index 7f3a6c9..0b234cd 100644 (file)
@@ -20,6 +20,7 @@
 #include "devices.h"
 #include "dev-m25p80.h"
 #include "dev-ar913x-wmac.h"
+#include "dev-leds-gpio.h"
 
 #define AP81_GPIO_LED_STATUS   1
 #define AP81_GPIO_LED_AOSS     3
index cb7e1d2..a9bb2bf 100644 (file)
@@ -24,6 +24,7 @@
 
 #include "devices.h"
 #include "dev-ar913x-wmac.h"
+#include "dev-leds-gpio.h"
 
 #define AP83_GPIO_LED_WLAN     6
 #define AP83_GPIO_LED_POWER    14
index 859bcae..9e17e3f 100644 (file)
@@ -20,6 +20,7 @@
 #include "devices.h"
 #include "dev-m25p80.h"
 #include "dev-pb42-pci.h"
+#include "dev-leds-gpio.h"
 
 #define AW_NR580_GPIO_LED_READY_RED    0
 #define AW_NR580_GPIO_LED_WLAN         1
index e5ce035..d9bd285 100644 (file)
 #include <linux/input.h>
 
 #include <asm/mips_machine.h>
-
 #include <asm/mach-ar71xx/ar71xx.h>
 
 #include "devices.h"
 #include "dev-m25p80.h"
 #include "dev-ar913x-wmac.h"
+#include "dev-leds-gpio.h"
 
 #define DIR_615C1_GPIO_LED_ORANGE_STATUS 1     /* ORANGE:STATUS:TRICOLOR */
 #define DIR_615C1_GPIO_LED_BLUE_WPS    3       /* BLUE:WPS */
index 5f9f067..7321071 100644 (file)
@@ -23,6 +23,7 @@
 #include "devices.h"
 #include "dev-m25p80.h"
 #include "dev-ap94-pci.h"
+#include "dev-leds-gpio.h"
 
 #define DIR825B1_GPIO_LED_BLUE_USB             0
 #define DIR825B1_GPIO_LED_ORANGE_POWER         1
index 71b72a6..7e8f0b5 100644 (file)
 #include <linux/input.h>
 
 #include <asm/mips_machine.h>
-
 #include <asm/mach-ar71xx/ar71xx.h>
 
 #include "devices.h"
 #include "dev-ar913x-wmac.h"
+#include "dev-leds-gpio.h"
 
 #define MZK_W04NU_GPIO_LED_USB         0
 #define MZK_W04NU_GPIO_LED_STATUS      1
index 4cf5fc3..24b05b3 100644 (file)
 #include <linux/input.h>
 
 #include <asm/mips_machine.h>
-
 #include <asm/mach-ar71xx/ar71xx.h>
 
 #include "devices.h"
 #include "dev-m25p80.h"
 #include "dev-ar913x-wmac.h"
+#include "dev-leds-gpio.h"
 
 #define MZK_W300NH_GPIO_LED_STATUS     1
 #define MZK_W300NH_GPIO_LED_WPS                3
index 008babc..c8a0c6d 100644 (file)
@@ -25,6 +25,7 @@
 
 #include "devices.h"
 #include "dev-pb42-pci.h"
+#include "dev-leds-gpio.h"
 
 #define PB44_PCF8757_VSC7395_CS        0
 #define PB44_PCF8757_STEREO_CS 1
index a8e97c3..69e25ce 100644 (file)
@@ -22,6 +22,7 @@
 #include <asm/mach-ar71xx/pci.h>
 
 #include "devices.h"
+#include "dev-leds-gpio.h"
 
 #define RB4XX_GPIO_USER_LED    4
 #define RB4XX_GPIO_RESET_SWITCH        7
index 340f35d..fd8f67a 100644 (file)
@@ -20,6 +20,7 @@
 #include "devices.h"
 #include "dev-m25p80.h"
 #include "dev-ar913x-wmac.h"
+#include "dev-leds-gpio.h"
 
 #define TEW_632BRP_GPIO_LED_STATUS     1
 #define TEW_632BRP_GPIO_LED_WPS                3
index b08383d..1dc61c7 100644 (file)
@@ -20,6 +20,7 @@
 #include "devices.h"
 #include "dev-m25p80.h"
 #include "dev-ar913x-wmac.h"
+#include "dev-leds-gpio.h"
 
 #define TL_WR1043ND_GPIO_LED_USB        1
 #define TL_WR1043ND_GPIO_LED_SYSTEM     2
index e3abf1e..4273f2a 100644 (file)
@@ -20,6 +20,7 @@
 #include "devices.h"
 #include "dev-m25p80.h"
 #include "dev-ap91-pci.h"
+#include "dev-leds-gpio.h"
 
 #define TL_WR741ND_GPIO_LED_QSS                0
 #define TL_WR741ND_GPIO_LED_SYSTEM     1
index 9baedaa..459cfa5 100644 (file)
@@ -19,6 +19,7 @@
 #include "devices.h"
 #include "dev-m25p80.h"
 #include "dev-pb42-pci.h"
+#include "dev-leds-gpio.h"
 
 #define TL_WR841ND_V1_GPIO_LED_SYSTEM          2
 #define TL_WR841ND_V1_GPIO_LED_QSS_GREEN       4
index cd5ca92..4bd4a9a 100644 (file)
 #include <linux/input.h>
 
 #include <asm/mips_machine.h>
-
 #include <asm/mach-ar71xx/ar71xx.h>
 
 #include "devices.h"
 #include "dev-m25p80.h"
 #include "dev-ar913x-wmac.h"
+#include "dev-leds-gpio.h"
 
 #define TL_WR941ND_GPIO_LED_SYSTEM     2
 #define TL_WR941ND_GPIO_LED_QSS                5
index e3285cf..d83b283 100644 (file)
@@ -21,6 +21,7 @@
 #include "dev-m25p80.h"
 #include "dev-ap91-pci.h"
 #include "dev-pb42-pci.h"
+#include "dev-leds-gpio.h"
 
 #define UBNT_RS_GPIO_LED_RF    2
 #define UBNT_RS_GPIO_SW4       8
index 3216ede..e50235b 100644 (file)
@@ -22,6 +22,7 @@
 #include "devices.h"
 #include "dev-m25p80.h"
 #include "dev-ap94-pci.h"
+#include "dev-leds-gpio.h"
 
 #define WNDR3700_GPIO_LED_WPS_ORANGE   0
 #define WNDR3700_GPIO_LED_POWER_ORANGE 1
index 4ea6158..73e8982 100644 (file)
@@ -22,6 +22,7 @@
 #include "devices.h"
 #include "dev-m25p80.h"
 #include "dev-ar913x-wmac.h"
+#include "dev-leds-gpio.h"
 
 #define WNR2000_GPIO_LED_PWR_GREEN     14
 #define WNR2000_GPIO_LED_PWR_AMBER     7
index 2830dcd..15e4278 100644 (file)
@@ -21,6 +21,7 @@
 #include "devices.h"
 #include "dev-m25p80.h"
 #include "dev-pb42-pci.h"
+#include "dev-leds-gpio.h"
 
 #define WP543_GPIO_SW6         2
 #define WP543_GPIO_LED_1       3
index 24704aa..571fe1d 100644 (file)
@@ -19,6 +19,7 @@
 #include "devices.h"
 #include "dev-m25p80.h"
 #include "dev-ar913x-wmac.h"
+#include "dev-leds-gpio.h"
 
 #define WRT160NL_GPIO_LED_POWER                14
 #define WRT160NL_GPIO_LED_WPS_AMBER    9
index 91de9ad..bd6fdb2 100644 (file)
@@ -19,6 +19,7 @@
 
 #include "devices.h"
 #include "dev-m25p80.h"
+#include "dev-leds-gpio.h"
 
 #define WRT400N_GPIO_LED_ORANGE        5
 #define WRT400N_GPIO_LED_GREEN 4