mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 05:29:04 -04:00
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.
[randy.dunlap@oracle.com: fix build when GPIOLIB is not enabled]
Signed-off-by: Joachim Eastwood <joachim.eastwood@jotron.com>
Reviewed-by: Wolfram Sang <w.sang@pengutronix.de>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Jan Weitzel <j.weitzel@phytec.de>
Cc: Juergen Kilb <j.kilb@phytec.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
fff26f8141
commit
3c1ab50d0a
3 changed files with 122 additions and 4 deletions
|
|
@ -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 */
|
||||
|
|
|
|||
Loading…
Reference in a new issue