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:

committed by
Linus Torvalds

parent
fff26f8141
commit
3c1ab50d0a
@@ -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 */
|
||||
|
Reference in New Issue
Block a user