[PATCH 11/12] pcmcia: soc_common: add support for voltage sense GPIOs
Russell King
rmk+kernel at armlinux.org.uk
Wed Sep 28 10:11:02 PDT 2016
Add support for the voltage sense GPIOs which are wired up on some
platforms.
Signed-off-by: Russell King <rmk+kernel at armlinux.org.uk>
---
drivers/pcmcia/soc_common.c | 6 +++++-
drivers/pcmcia/soc_common.h | 4 +++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/pcmcia/soc_common.c b/drivers/pcmcia/soc_common.c
index 3eb30916be26..153f3122283d 100644
--- a/drivers/pcmcia/soc_common.c
+++ b/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);
diff --git a/drivers/pcmcia/soc_common.h b/drivers/pcmcia/soc_common.h
index 7833eae86960..f2078aecb914 100644
--- a/drivers/pcmcia/soc_common.h
+++ b/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;
--
2.1.0
More information about the linux-pcmcia
mailing list