pcmcia: soc_common: add support for voltage sense GPIOs
Add support for the voltage sense GPIOs which are wired up on some platforms. Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
This commit is contained in:
parent
c8f9ce556b
commit
5805271d90
|
@ -218,7 +218,7 @@ static int soc_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
|
|||
skt->stat[i].desc = gpio_to_desc(skt->stat[i].gpio);
|
||||
}
|
||||
|
||||
if (skt->stat[i].desc) {
|
||||
if (i < SOC_STAT_VS1 && skt->stat[i].desc) {
|
||||
int irq = gpiod_to_irq(skt->stat[i].desc);
|
||||
|
||||
if (irq > 0) {
|
||||
|
@ -295,6 +295,10 @@ static unsigned int soc_common_pcmcia_skt_state(struct soc_pcmcia_socket *skt)
|
|||
state.bvd1 = !!gpiod_get_value(skt->stat[SOC_STAT_BVD1].desc);
|
||||
if (skt->stat[SOC_STAT_BVD2].desc)
|
||||
state.bvd2 = !!gpiod_get_value(skt->stat[SOC_STAT_BVD2].desc);
|
||||
if (skt->stat[SOC_STAT_VS1].desc)
|
||||
state.vs_3v = !!gpiod_get_value(skt->stat[SOC_STAT_VS1].desc);
|
||||
if (skt->stat[SOC_STAT_VS2].desc)
|
||||
state.vs_Xv = !!gpiod_get_value(skt->stat[SOC_STAT_VS2].desc);
|
||||
|
||||
skt->ops->socket_state(skt, &state);
|
||||
|
||||
|
|
|
@ -62,11 +62,13 @@ struct soc_pcmcia_socket {
|
|||
struct gpio_desc *desc;
|
||||
unsigned int irq;
|
||||
const char *name;
|
||||
} stat[4];
|
||||
} stat[6];
|
||||
#define SOC_STAT_CD 0 /* Card detect */
|
||||
#define SOC_STAT_BVD1 1 /* BATDEAD / IOSTSCHG */
|
||||
#define SOC_STAT_BVD2 2 /* BATWARN / IOSPKR */
|
||||
#define SOC_STAT_RDY 3 /* Ready / Interrupt */
|
||||
#define SOC_STAT_VS1 4 /* Voltage sense 1 */
|
||||
#define SOC_STAT_VS2 5 /* Voltage sense 2 */
|
||||
|
||||
struct gpio_desc *gpio_reset;
|
||||
struct gpio_desc *gpio_bus_enable;
|
||||
|
|
Loading…
Reference in New Issue