|
@@ -16,8 +16,6 @@
|
|
#include <linux/gpio.h>
|
|
#include <linux/gpio.h>
|
|
#include <linux/export.h>
|
|
#include <linux/export.h>
|
|
|
|
|
|
-#include <asm/mach-types.h>
|
|
|
|
-
|
|
|
|
#include "soc_common.h"
|
|
#include "soc_common.h"
|
|
|
|
|
|
#define GPIO_PCMCIA_SKTSEL (54)
|
|
#define GPIO_PCMCIA_SKTSEL (54)
|
|
@@ -27,15 +25,15 @@
|
|
#define GPIO_PCMCIA_S1_RDYINT (8)
|
|
#define GPIO_PCMCIA_S1_RDYINT (8)
|
|
#define GPIO_PCMCIA_RESET (9)
|
|
#define GPIO_PCMCIA_RESET (9)
|
|
|
|
|
|
-#define PCMCIA_S0_CD_VALID IRQ_GPIO(GPIO_PCMCIA_S0_CD_VALID)
|
|
|
|
-#define PCMCIA_S1_CD_VALID IRQ_GPIO(GPIO_PCMCIA_S1_CD_VALID)
|
|
|
|
-#define PCMCIA_S0_RDYINT IRQ_GPIO(GPIO_PCMCIA_S0_RDYINT)
|
|
|
|
-#define PCMCIA_S1_RDYINT IRQ_GPIO(GPIO_PCMCIA_S1_RDYINT)
|
|
|
|
|
|
+#define PCMCIA_S0_CD_VALID gpio_to_irq(GPIO_PCMCIA_S0_CD_VALID)
|
|
|
|
+#define PCMCIA_S1_CD_VALID gpio_to_irq(GPIO_PCMCIA_S1_CD_VALID)
|
|
|
|
+#define PCMCIA_S0_RDYINT gpio_to_irq(GPIO_PCMCIA_S0_RDYINT)
|
|
|
|
+#define PCMCIA_S1_RDYINT gpio_to_irq(GPIO_PCMCIA_S1_RDYINT)
|
|
|
|
|
|
|
|
|
|
static struct pcmcia_irqs irqs[] = {
|
|
static struct pcmcia_irqs irqs[] = {
|
|
- { 0, PCMCIA_S0_CD_VALID, "PCMCIA0 CD" },
|
|
|
|
- { 1, PCMCIA_S1_CD_VALID, "PCMCIA1 CD" },
|
|
|
|
|
|
+ { .sock = 0, .str = "PCMCIA0 CD" },
|
|
|
|
+ { .sock = 1, .str = "PCMCIA1 CD" },
|
|
};
|
|
};
|
|
|
|
|
|
static int cmx255_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
|
|
static int cmx255_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
|
|
@@ -46,6 +44,8 @@ static int cmx255_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
|
|
gpio_direction_output(GPIO_PCMCIA_RESET, 0);
|
|
gpio_direction_output(GPIO_PCMCIA_RESET, 0);
|
|
|
|
|
|
skt->socket.pci_irq = skt->nr == 0 ? PCMCIA_S0_RDYINT : PCMCIA_S1_RDYINT;
|
|
skt->socket.pci_irq = skt->nr == 0 ? PCMCIA_S0_RDYINT : PCMCIA_S1_RDYINT;
|
|
|
|
+ irqs[0].irq = PCMCIA_S0_CD_VALID;
|
|
|
|
+ irqs[1].irq = PCMCIA_S1_CD_VALID;
|
|
ret = soc_pcmcia_request_irqs(skt, irqs, ARRAY_SIZE(irqs));
|
|
ret = soc_pcmcia_request_irqs(skt, irqs, ARRAY_SIZE(irqs));
|
|
if (!ret)
|
|
if (!ret)
|
|
gpio_free(GPIO_PCMCIA_RESET);
|
|
gpio_free(GPIO_PCMCIA_RESET);
|