瀏覽代碼

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>
Russell King 9 年之前
父節點
當前提交
5805271d90
共有 2 個文件被更改,包括 8 次插入2 次删除
  1. 5 1
      drivers/pcmcia/soc_common.c
  2. 3 1
      drivers/pcmcia/soc_common.h

+ 5 - 1
drivers/pcmcia/soc_common.c

@@ -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);
 

+ 3 - 1
drivers/pcmcia/soc_common.h

@@ -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;