Merge branches 'acpi-pm', 'acpi-enumeration' and 'acpi-sysfs'
[cascardo/linux.git] / drivers / pcmcia / pxa2xx_mainstone.c
index aded706..7e32e25 100644 (file)
 #include "soc_common.h"
 
 
-static struct pcmcia_irqs irqs[] = {
-       { 0, MAINSTONE_S0_CD_IRQ, "PCMCIA0 CD" },
-       { 1, MAINSTONE_S1_CD_IRQ, "PCMCIA1 CD" },
-       { 0, MAINSTONE_S0_STSCHG_IRQ, "PCMCIA0 STSCHG" },
-       { 1, MAINSTONE_S1_STSCHG_IRQ, "PCMCIA1 STSCHG" },
-};
-
 static int mst_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
 {
        /*
         * Setup default state of GPIO outputs
         * before we enable them as outputs.
         */
-
-       skt->socket.pci_irq = (skt->nr == 0) ? MAINSTONE_S0_IRQ : MAINSTONE_S1_IRQ;
-       return soc_pcmcia_request_irqs(skt, irqs, ARRAY_SIZE(irqs));
-}
-
-static void mst_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
-{
-       soc_pcmcia_free_irqs(skt, irqs, ARRAY_SIZE(irqs));
+       if (skt->nr == 0) {
+               skt->socket.pci_irq = MAINSTONE_S0_IRQ;
+               skt->stat[SOC_STAT_CD].irq = MAINSTONE_S0_CD_IRQ;
+               skt->stat[SOC_STAT_CD].name = "PCMCIA0 CD";
+               skt->stat[SOC_STAT_BVD1].irq = MAINSTONE_S0_STSCHG_IRQ;
+               skt->stat[SOC_STAT_BVD1].name = "PCMCIA0 STSCHG";
+       } else {
+               skt->socket.pci_irq = MAINSTONE_S1_IRQ;
+               skt->stat[SOC_STAT_CD].irq = MAINSTONE_S1_CD_IRQ;
+               skt->stat[SOC_STAT_CD].name = "PCMCIA1 CD";
+               skt->stat[SOC_STAT_BVD1].irq = MAINSTONE_S1_STSCHG_IRQ;
+               skt->stat[SOC_STAT_BVD1].name = "PCMCIA1 STSCHG";
+       }
+       return 0;
 }
 
 static unsigned long mst_pcmcia_status[2];
@@ -84,7 +83,6 @@ static void mst_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
        state->bvd2   = (status & MST_PCMCIA_nSPKR_BVD2) ? 1 : 0;
        state->vs_3v  = (status & MST_PCMCIA_nVS1) ? 0 : 1;
        state->vs_Xv  = (status & MST_PCMCIA_nVS2) ? 0 : 1;
-       state->wrprot = 0;  /* not available */
 }
 
 static int mst_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
@@ -131,7 +129,6 @@ static int mst_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
 static struct pcmcia_low_level mst_pcmcia_ops __initdata = {
        .owner                  = THIS_MODULE,
        .hw_init                = mst_pcmcia_hw_init,
-       .hw_shutdown            = mst_pcmcia_hw_shutdown,
        .socket_state           = mst_pcmcia_socket_state,
        .configure_socket       = mst_pcmcia_configure_socket,
        .nr                     = 2,