[PATCH] KVM: MMU: Flush guest tlb when reducing permissions on a pte
[pandora-kernel.git] / drivers / pcmcia / soc_common.c
index 9e7ccd8..e433704 100644 (file)
@@ -31,7 +31,6 @@
 ======================================================================*/
 
 
-#include <linux/config.h>
 #include <linux/module.h>
 #include <linux/moduleparam.h>
 #include <linux/init.h>
 #include <linux/timer.h>
 #include <linux/mm.h>
 #include <linux/interrupt.h>
+#include <linux/irq.h>
 #include <linux/spinlock.h>
 #include <linux/cpufreq.h>
 
 #include <asm/hardware.h>
 #include <asm/io.h>
-#include <asm/irq.h>
 #include <asm/system.h>
 
 #include "soc_common.h"
@@ -257,7 +256,7 @@ static void soc_common_pcmcia_poll_event(unsigned long dummy)
  * handling code performs scheduling operations which cannot be
  * executed from within an interrupt context.
  */
-static irqreturn_t soc_common_pcmcia_interrupt(int irq, void *dev, struct pt_regs *regs)
+static irqreturn_t soc_common_pcmcia_interrupt(int irq, void *dev)
 {
        struct soc_pcmcia_socket *skt = dev;
 
@@ -296,25 +295,6 @@ soc_common_pcmcia_get_status(struct pcmcia_socket *sock, unsigned int *status)
 }
 
 
-/*
- * Implements the get_socket() operation for the in-kernel PCMCIA
- * service (formerly SS_GetSocket in Card Services). Not a very
- * exciting routine.
- *
- * Returns: 0
- */
-static int
-soc_common_pcmcia_get_socket(struct pcmcia_socket *sock, socket_state_t *state)
-{
-       struct soc_pcmcia_socket *skt = to_soc_pcmcia_socket(sock);
-
-       debug(skt, 2, "\n");
-
-       *state = skt->cs_state;
-
-       return 0;
-}
-
 /*
  * Implements the set_socket() operation for the in-kernel PCMCIA
  * service (formerly SS_SetSocket in Card Services). We more or
@@ -528,7 +508,6 @@ static struct pccard_operations soc_common_pcmcia_operations = {
        .init                   = soc_common_pcmcia_sock_init,
        .suspend                = soc_common_pcmcia_suspend,
        .get_status             = soc_common_pcmcia_get_status,
-       .get_socket             = soc_common_pcmcia_get_socket,
        .set_socket             = soc_common_pcmcia_set_socket,
        .set_io_map             = soc_common_pcmcia_set_io_map,
        .set_mem_map            = soc_common_pcmcia_set_mem_map,
@@ -544,7 +523,7 @@ int soc_pcmcia_request_irqs(struct soc_pcmcia_socket *skt,
                if (irqs[i].sock != skt->nr)
                        continue;
                res = request_irq(irqs[i].irq, soc_common_pcmcia_interrupt,
-                                 SA_INTERRUPT, irqs[i].str, skt);
+                                 IRQF_DISABLED, irqs[i].str, skt);
                if (res)
                        break;
                set_irq_type(irqs[i].irq, IRQT_NOEDGE);
@@ -665,13 +644,12 @@ int soc_common_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *ops
 
        down(&soc_pcmcia_sockets_lock);
 
-       sinfo = kmalloc(SKT_DEV_INFO_SIZE(nr), GFP_KERNEL);
+       sinfo = kzalloc(SKT_DEV_INFO_SIZE(nr), GFP_KERNEL);
        if (!sinfo) {
                ret = -ENOMEM;
                goto out;
        }
 
-       memset(sinfo, 0, SKT_DEV_INFO_SIZE(nr));
        sinfo->nskt = nr;
 
        /*
@@ -846,3 +824,4 @@ int soc_common_drv_pcmcia_remove(struct device *dev)
 
        return 0;
 }
+EXPORT_SYMBOL(soc_common_drv_pcmcia_remove);