diff options
| author | Joachim Eastwood <[email protected]> | 2011-05-24 17:13:23 -0700 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2011-05-25 08:39:50 -0700 |
| commit | 3c1ab50d0a31b27bb4e55168f4901dd91e6e5ea4 (patch) | |
| tree | a9ec955ad64bda0ff64f5654c1b16eeb79e0d895 /include/linux | |
| parent | fff26f8141145e01eae8f4d6e642ac8a0d500158 (diff) | |
drivers/leds/leds-pca9532.c: add gpio capability
Allow unused leds on pca9532 to be used as gpio. The board I am working
on now has no less than 6 pca9532 chips. One chips is used for only leds,
one has 14 leds and 2 gpio and the rest of the chips are gpio only.
There is also one board in mainline which could use this capabilty;
arch/arm/mach-iop32x/n2100.c
232 { .type = PCA9532_TYPE_NONE }, /* power OFF gpio */
233 { .type = PCA9532_TYPE_NONE }, /* reset gpio */
This patch defines a new pin type, PCA9532_TYPE_GPIO, and registers a
gpiochip if any pin has this type set. The gpio will registers all chip
pins but will filter on gpio_request.
[[email protected]: fix build when GPIOLIB is not enabled]
Signed-off-by: Joachim Eastwood <[email protected]>
Reviewed-by: Wolfram Sang <[email protected]>
Reviewed-by: H Hartley Sweeten <[email protected]>
Cc: Richard Purdie <[email protected]>
Cc: Grant Likely <[email protected]>
Signed-off-by: Randy Dunlap <[email protected]>
Cc: Jan Weitzel <[email protected]>
Cc: Juergen Kilb <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/leds-pca9532.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/leds-pca9532.h b/include/linux/leds-pca9532.h index f158eb1149aa..b8d6fffed4d8 100644 --- a/include/linux/leds-pca9532.h +++ b/include/linux/leds-pca9532.h @@ -25,7 +25,7 @@ enum pca9532_state { }; enum pca9532_type { PCA9532_TYPE_NONE, PCA9532_TYPE_LED, - PCA9532_TYPE_N2100_BEEP }; + PCA9532_TYPE_N2100_BEEP, PCA9532_TYPE_GPIO }; struct pca9532_led { u8 id; @@ -41,6 +41,7 @@ struct pca9532_platform_data { struct pca9532_led leds[16]; u8 pwm[2]; u8 psc[2]; + int gpio_base; }; #endif /* __LINUX_PCA9532_H */ |