diff options
Diffstat (limited to 'drivers/pcmcia/soc_common.h')
-rw-r--r-- | drivers/pcmcia/soc_common.h | 23 |
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 | ||
118 | struct pcmcia_irqs { | ||
119 | int sock; | ||
120 | int irq; | ||
121 | const char *str; | ||
122 | }; | ||
123 | |||
124 | struct soc_pcmcia_timing { | 128 | struct 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 | ||
130 | extern int soc_pcmcia_request_irqs(struct soc_pcmcia_socket *skt, struct pcmcia_irqs *irqs, int nr); | ||
131 | extern void soc_pcmcia_free_irqs(struct soc_pcmcia_socket *skt, struct pcmcia_irqs *irqs, int nr); | ||
132 | extern void soc_pcmcia_disable_irqs(struct soc_pcmcia_socket *skt, struct pcmcia_irqs *irqs, int nr); | ||
133 | extern void soc_pcmcia_enable_irqs(struct soc_pcmcia_socket *skt, struct pcmcia_irqs *irqs, int nr); | ||
134 | extern void soc_common_pcmcia_get_timing(struct soc_pcmcia_socket *, struct soc_pcmcia_timing *); | 134 | extern void soc_common_pcmcia_get_timing(struct soc_pcmcia_socket *, struct soc_pcmcia_timing *); |
135 | 135 | ||
136 | 136 | void soc_pcmcia_init_one(struct soc_pcmcia_socket *skt, | |
137 | struct pcmcia_low_level *ops, struct device *dev); | ||
137 | void soc_pcmcia_remove_one(struct soc_pcmcia_socket *skt); | 138 | void soc_pcmcia_remove_one(struct soc_pcmcia_socket *skt); |
138 | int soc_pcmcia_add_one(struct soc_pcmcia_socket *skt); | 139 | int soc_pcmcia_add_one(struct soc_pcmcia_socket *skt); |
139 | 140 | ||