aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pcmcia/soc_common.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pcmcia/soc_common.h')
-rw-r--r--drivers/pcmcia/soc_common.h23
1 files changed, 12 insertions, 11 deletions
diff --git a/drivers/pcmcia/soc_common.h b/drivers/pcmcia/soc_common.h
index 9daa73615c8b..e6fcbea5b682 100644
--- a/drivers/pcmcia/soc_common.h
+++ b/drivers/pcmcia/soc_common.h
@@ -50,6 +50,16 @@ struct soc_pcmcia_socket {
50 struct resource res_attr; 50 struct resource res_attr;
51 void __iomem *virt_io; 51 void __iomem *virt_io;
52 52
53 struct {
54 int gpio;
55 unsigned int irq;
56 const char *name;
57 } stat[4];
58#define SOC_STAT_CD 0 /* Card detect */
59#define SOC_STAT_BVD1 1 /* BATDEAD / IOSTSCHG */
60#define SOC_STAT_BVD2 2 /* BATWARN / IOSPKR */
61#define SOC_STAT_RDY 3 /* Ready / Interrupt */
62
53 unsigned int irq_state; 63 unsigned int irq_state;
54 64
55 struct timer_list poll_timer; 65 struct timer_list poll_timer;
@@ -115,25 +125,16 @@ struct pcmcia_low_level {
115}; 125};
116 126
117 127
118struct pcmcia_irqs {
119 int sock;
120 int irq;
121 const char *str;
122};
123
124struct soc_pcmcia_timing { 128struct soc_pcmcia_timing {
125 unsigned short io; 129 unsigned short io;
126 unsigned short mem; 130 unsigned short mem;
127 unsigned short attr; 131 unsigned short attr;
128}; 132};
129 133
130extern int soc_pcmcia_request_irqs(struct soc_pcmcia_socket *skt, struct pcmcia_irqs *irqs, int nr);
131extern void soc_pcmcia_free_irqs(struct soc_pcmcia_socket *skt, struct pcmcia_irqs *irqs, int nr);
132extern void soc_pcmcia_disable_irqs(struct soc_pcmcia_socket *skt, struct pcmcia_irqs *irqs, int nr);
133extern void soc_pcmcia_enable_irqs(struct soc_pcmcia_socket *skt, struct pcmcia_irqs *irqs, int nr);
134extern void soc_common_pcmcia_get_timing(struct soc_pcmcia_socket *, struct soc_pcmcia_timing *); 134extern void soc_common_pcmcia_get_timing(struct soc_pcmcia_socket *, struct soc_pcmcia_timing *);
135 135
136 136void soc_pcmcia_init_one(struct soc_pcmcia_socket *skt,
137 struct pcmcia_low_level *ops, struct device *dev);
137void soc_pcmcia_remove_one(struct soc_pcmcia_socket *skt); 138void soc_pcmcia_remove_one(struct soc_pcmcia_socket *skt);
138int soc_pcmcia_add_one(struct soc_pcmcia_socket *skt); 139int soc_pcmcia_add_one(struct soc_pcmcia_socket *skt);
139 140