Add leds support for the CAS-771/771w
[openwrt-10.03/.git] / target / linux / adm5120 / files / drivers / leds / leds-adm5120.c
index 95b90fa474f52ccffb7b390270898f4b904dfdd6..823254c5ec7173da5ae5c1ff19c592192b95bcf1 100644 (file)
@@ -59,6 +59,18 @@ static struct gpio_led n ## _leds [] __initdata =
 #define LED_STD(g, n, t)       LED_DATA((n), (t), (g), 0)
 #define LED_INV(g, n, t)       LED_DATA((n), (t), (g), 1)
 
+/*
+ * Cellvision boards
+ */
+
+LED_ARRAY(cas771) {
+       LED_STD(ADM5120_GPIO_PIN0, "cam_flash", NULL),
+       /* GPIO PIN3 is the reset */
+       LED_STD(ADM5120_GPIO_PIN6, "access", NULL),
+       LED_STD(ADM5120_GPIO_P0L1, "status", NULL),
+       LED_STD(ADM5120_GPIO_P0L2, "diag", NULL),
+};
+
 /*
  * Compex boards
  */
@@ -253,6 +265,8 @@ LED_ARRAY(generic) {
 
 static struct mach_data machines[] __initdata = {
        MACH_DATA(MACH_ADM5120_GENERIC, generic),
+       /* Cellvision */
+       MACH_DATA(MACH_ADM5120_CAS771, cas771),
        /* Compex */
        MACH_DATA(MACH_ADM5120_NP28G,   np28g),
        MACH_DATA(MACH_ADM5120_NP28GHS, np28g),
@@ -327,11 +341,6 @@ adm5120_leds_init(void)
        struct mach_data *mach;
        int i, ret;
 
-       if (mips_machgroup != MACH_GROUP_ADM5120) {
-               ret = -EINVAL;
-               goto err;
-       }
-
        mach = adm5120_leds_findmach(mips_machtype);
        if (mach == NULL) {
                printk(KERN_ERR "leds-adm5120: unsupported board\n");