diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-23 20:37:40 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-23 20:37:40 -0400 |
commit | 24613ff927500513eae7e84bb6fc6c3ef268e452 (patch) | |
tree | ef26480a8f123a12690c0f226870cf69dc6ffb55 /drivers/pcmcia/pxa2xx_colibri.c | |
parent | 0d19eac12031680dc5f5402921fb0c388e42f619 (diff) | |
parent | ff80aa57cc9946d3dafe65119d576b3d11304303 (diff) |
Merge branch 'pcmcia' of git://git.linaro.org/people/rmk/linux-arm
Pull #3 ARM updates from Russell King:
"This adds gpio support to soc_common, allowing an amount of code to be
deleted from each PCMCIA socket driver for the PXA/SA11x0 SoCs."
* 'pcmcia' of git://git.linaro.org/people/rmk/linux-arm:
PCMCIA: sa1111: rename sa1111 socket drivers to have sa1111_ prefix.
PCMCIA: make lubbock socket driver part of sa1111_cs
PCMCIA: add Kconfig control for building sa11xx_base.c
PCMCIA: sa1111: jornada720: no need to disable IRQs around sa1111_set_io
PCMCIA: sa1111: pass along sa1111_pcmcia_configure_socket() failure code
PCMCIA: soc_common: remove explicit wrprot initialization in socket drivers
PCMCIA: soc_common: remove soc_pcmcia_*_irqs functions
PCMCIA: sa11x0: h3600: convert to use new irq/gpio management
PCMCIA: sa11x0: simpad: convert to use new irq/gpio management
PCMCIA: sa11x0: shannon: convert to use new irq/gpio management
PCMCIA: sa11x0: nanoengine: convert reset handling to use GPIO subsystem
PCMCIA: sa11x0: nanoengine: convert to use new irq/gpio management
PCMCIA: sa11x0: cerf: convert reset handling to use GPIO subsystem
PCMCIA: sa11x0: cerf: convert to use new irq/gpio management
PCMCIA: sa11x0: assabet: convert to use new irq/gpio management
PCMCIA: sa1111: use new per-socket irq/gpio infrastructure
PCMCIA: pxa: convert PXA socket drivers to use new irq/gpio management
PCMCIA: soc_common: add GPIO support for card status signals
PCMCIA: soc_common: move common initialization into soc_common
Diffstat (limited to 'drivers/pcmcia/pxa2xx_colibri.c')
-rw-r--r-- | drivers/pcmcia/pxa2xx_colibri.c | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/drivers/pcmcia/pxa2xx_colibri.c b/drivers/pcmcia/pxa2xx_colibri.c index c6dec572a05d..4dee7b2a8032 100644 --- a/drivers/pcmcia/pxa2xx_colibri.c +++ b/drivers/pcmcia/pxa2xx_colibri.c | |||
@@ -53,13 +53,6 @@ static struct gpio colibri_pcmcia_gpios[] = { | |||
53 | { 0, GPIOF_INIT_HIGH,"PCMCIA Reset" }, | 53 | { 0, GPIOF_INIT_HIGH,"PCMCIA Reset" }, |
54 | }; | 54 | }; |
55 | 55 | ||
56 | static struct pcmcia_irqs colibri_irqs[] = { | ||
57 | { | ||
58 | .sock = 0, | ||
59 | .str = "PCMCIA CD" | ||
60 | }, | ||
61 | }; | ||
62 | |||
63 | static int colibri_pcmcia_hw_init(struct soc_pcmcia_socket *skt) | 56 | static int colibri_pcmcia_hw_init(struct soc_pcmcia_socket *skt) |
64 | { | 57 | { |
65 | int ret; | 58 | int ret; |
@@ -69,19 +62,10 @@ static int colibri_pcmcia_hw_init(struct soc_pcmcia_socket *skt) | |||
69 | if (ret) | 62 | if (ret) |
70 | goto err1; | 63 | goto err1; |
71 | 64 | ||
72 | colibri_irqs[0].irq = gpio_to_irq(colibri_pcmcia_gpios[DETECT].gpio); | ||
73 | skt->socket.pci_irq = gpio_to_irq(colibri_pcmcia_gpios[READY].gpio); | 65 | skt->socket.pci_irq = gpio_to_irq(colibri_pcmcia_gpios[READY].gpio); |
66 | skt->stat[SOC_STAT_CD].irq = gpio_to_irq(colibri_pcmcia_gpios[DETECT].gpio); | ||
67 | skt->stat[SOC_STAT_CD].name = "PCMCIA CD"; | ||
74 | 68 | ||
75 | ret = soc_pcmcia_request_irqs(skt, colibri_irqs, | ||
76 | ARRAY_SIZE(colibri_irqs)); | ||
77 | if (ret) | ||
78 | goto err2; | ||
79 | |||
80 | return ret; | ||
81 | |||
82 | err2: | ||
83 | gpio_free_array(colibri_pcmcia_gpios, | ||
84 | ARRAY_SIZE(colibri_pcmcia_gpios)); | ||
85 | err1: | 69 | err1: |
86 | return ret; | 70 | return ret; |
87 | } | 71 | } |
@@ -100,7 +84,6 @@ static void colibri_pcmcia_socket_state(struct soc_pcmcia_socket *skt, | |||
100 | state->ready = !!gpio_get_value(colibri_pcmcia_gpios[READY].gpio); | 84 | state->ready = !!gpio_get_value(colibri_pcmcia_gpios[READY].gpio); |
101 | state->bvd1 = !!gpio_get_value(colibri_pcmcia_gpios[BVD1].gpio); | 85 | state->bvd1 = !!gpio_get_value(colibri_pcmcia_gpios[BVD1].gpio); |
102 | state->bvd2 = !!gpio_get_value(colibri_pcmcia_gpios[BVD2].gpio); | 86 | state->bvd2 = !!gpio_get_value(colibri_pcmcia_gpios[BVD2].gpio); |
103 | state->wrprot = 0; | ||
104 | state->vs_3v = 1; | 87 | state->vs_3v = 1; |
105 | state->vs_Xv = 0; | 88 | state->vs_Xv = 0; |
106 | } | 89 | } |