Commit a7670151 authored by Russell King's avatar Russell King

PCMCIA: soc_common: remove soc_pcmcia_*_irqs functions

Now that we use gpios and gpio_to_irq() etc to manage the various card
status signals within soc_common, and all socket drivers are converted,
these functions are no longer used.  We can now get rid of these helper
functions.
Acked-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 65474b45
......@@ -634,69 +634,6 @@ static struct pccard_operations soc_common_pcmcia_operations = {
};
int soc_pcmcia_request_irqs(struct soc_pcmcia_socket *skt,
struct pcmcia_irqs *irqs, int nr)
{
int i, res = 0;
for (i = 0; i < nr; i++) {
if (irqs[i].sock != skt->nr)
continue;
res = request_irq(irqs[i].irq, soc_common_pcmcia_interrupt,
IRQF_DISABLED, irqs[i].str, skt);
if (res)
break;
irq_set_irq_type(irqs[i].irq, IRQ_TYPE_NONE);
}
if (res) {
printk(KERN_ERR "PCMCIA: request for IRQ%d failed (%d)\n",
irqs[i].irq, res);
while (i--)
if (irqs[i].sock == skt->nr)
free_irq(irqs[i].irq, skt);
}
return res;
}
EXPORT_SYMBOL(soc_pcmcia_request_irqs);
void soc_pcmcia_free_irqs(struct soc_pcmcia_socket *skt,
struct pcmcia_irqs *irqs, int nr)
{
int i;
for (i = 0; i < nr; i++)
if (irqs[i].sock == skt->nr)
free_irq(irqs[i].irq, skt);
}
EXPORT_SYMBOL(soc_pcmcia_free_irqs);
void soc_pcmcia_disable_irqs(struct soc_pcmcia_socket *skt,
struct pcmcia_irqs *irqs, int nr)
{
int i;
for (i = 0; i < nr; i++)
if (irqs[i].sock == skt->nr)
irq_set_irq_type(irqs[i].irq, IRQ_TYPE_NONE);
}
EXPORT_SYMBOL(soc_pcmcia_disable_irqs);
void soc_pcmcia_enable_irqs(struct soc_pcmcia_socket *skt,
struct pcmcia_irqs *irqs, int nr)
{
int i;
for (i = 0; i < nr; i++)
if (irqs[i].sock == skt->nr) {
irq_set_irq_type(irqs[i].irq, IRQ_TYPE_EDGE_RISING);
irq_set_irq_type(irqs[i].irq, IRQ_TYPE_EDGE_BOTH);
}
}
EXPORT_SYMBOL(soc_pcmcia_enable_irqs);
static LIST_HEAD(soc_pcmcia_sockets);
static DEFINE_MUTEX(soc_pcmcia_sockets_lock);
......
......@@ -125,22 +125,12 @@ struct pcmcia_low_level {
};
struct pcmcia_irqs {
int sock;
int irq;
const char *str;
};
struct soc_pcmcia_timing {
unsigned short io;
unsigned short mem;
unsigned short attr;
};
extern int soc_pcmcia_request_irqs(struct soc_pcmcia_socket *skt, struct pcmcia_irqs *irqs, int nr);
extern void soc_pcmcia_free_irqs(struct soc_pcmcia_socket *skt, struct pcmcia_irqs *irqs, int nr);
extern void soc_pcmcia_disable_irqs(struct soc_pcmcia_socket *skt, struct pcmcia_irqs *irqs, int nr);
extern void soc_pcmcia_enable_irqs(struct soc_pcmcia_socket *skt, struct pcmcia_irqs *irqs, int nr);
extern void soc_common_pcmcia_get_timing(struct soc_pcmcia_socket *, struct soc_pcmcia_timing *);
void soc_pcmcia_init_one(struct soc_pcmcia_socket *skt,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment