]> nv-tegra.nvidia Code Review - linux-2.6.git/blobdiff - drivers/pcmcia/soc_common.h
pcmcia: pxa2xx/vpac270: free gpios on exist rather than requesting
[linux-2.6.git] / drivers / pcmcia / soc_common.h
index 290e143839ee68802e29ee2688eb31270ddf5f00..9daa73615c8bba3914f1a2fbf44fbfaa09e33b47 100644 (file)
@@ -10,9 +10,8 @@
 #define _ASM_ARCH_PCMCIA
 
 /* include the world */
+#include <linux/clk.h>
 #include <linux/cpufreq.h>
-#include <pcmcia/cs_types.h>
-#include <pcmcia/cs.h>
 #include <pcmcia/ss.h>
 #include <pcmcia/cistpl.h>
 
@@ -30,14 +29,13 @@ struct soc_pcmcia_socket {
        /*
         * Info from low level handler
         */
-       struct device           *dev;
        unsigned int            nr;
-       unsigned int            irq;
+       struct clk              *clk;
 
        /*
         * Core PCMCIA state
         */
-       struct pcmcia_low_level *ops;
+       const struct pcmcia_low_level *ops;
 
        unsigned int            status;
        socket_state_t          cs_state;
@@ -60,6 +58,7 @@ struct soc_pcmcia_socket {
 
 struct skt_dev_info {
        int nskt;
+       struct clk *clk;
        struct soc_pcmcia_socket skt[0];
 };
 
@@ -135,10 +134,8 @@ extern void soc_pcmcia_enable_irqs(struct soc_pcmcia_socket *skt, struct pcmcia_
 extern void soc_common_pcmcia_get_timing(struct soc_pcmcia_socket *, struct soc_pcmcia_timing *);
 
 
-extern struct list_head soc_pcmcia_sockets;
-
-extern int soc_common_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *ops, struct skt_dev_info *sinfo);
-extern int soc_common_drv_pcmcia_remove(struct device *dev);
+void soc_pcmcia_remove_one(struct soc_pcmcia_socket *skt);
+int soc_pcmcia_add_one(struct soc_pcmcia_socket *skt);
 
 
 #ifdef CONFIG_PCMCIA_DEBUG