git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[pandora-kernel.git]
/
drivers
/
pcmcia
/
soc_common.c
diff --git
a/drivers/pcmcia/soc_common.c
b/drivers/pcmcia/soc_common.c
index
420a775
..
da39721
100644
(file)
--- a/
drivers/pcmcia/soc_common.c
+++ b/
drivers/pcmcia/soc_common.c
@@
-43,7
+43,7
@@
#include <linux/spinlock.h>
#include <linux/cpufreq.h>
#include <linux/spinlock.h>
#include <linux/cpufreq.h>
-#include <
asm
/hardware.h>
+#include <
mach
/hardware.h>
#include <asm/io.h>
#include <asm/system.h>
#include <asm/io.h>
#include <asm/system.h>
@@
-51,7
+51,7
@@
/* FIXME: platform dependent resource declaration has to move out of this file */
#ifdef CONFIG_ARCH_PXA
/* FIXME: platform dependent resource declaration has to move out of this file */
#ifdef CONFIG_ARCH_PXA
-#include <
asm/ar
ch/pxa-regs.h>
+#include <
ma
ch/pxa-regs.h>
#endif
#ifdef DEBUG
#endif
#ifdef DEBUG
@@
-149,10
+149,10
@@
soc_common_pcmcia_config_skt(struct soc_pcmcia_socket *skt, socket_state_t *stat
*/
if (skt->irq_state != 1 && state->io_irq) {
skt->irq_state = 1;
*/
if (skt->irq_state != 1 && state->io_irq) {
skt->irq_state = 1;
- set_irq_type(skt->irq, IRQ
T
_FALLING);
+ set_irq_type(skt->irq, IRQ
_TYPE_EDGE
_FALLING);
} else if (skt->irq_state == 1 && state->io_irq == 0) {
skt->irq_state = 0;
} else if (skt->irq_state == 1 && state->io_irq == 0) {
skt->irq_state = 0;
- set_irq_type(skt->irq, IRQ
T_NOEDG
E);
+ set_irq_type(skt->irq, IRQ
_TYPE_NON
E);
}
skt->cs_state = *state;
}
skt->cs_state = *state;
@@
-527,7
+527,7
@@
int soc_pcmcia_request_irqs(struct soc_pcmcia_socket *skt,
IRQF_DISABLED, irqs[i].str, skt);
if (res)
break;
IRQF_DISABLED, irqs[i].str, skt);
if (res)
break;
- set_irq_type(irqs[i].irq, IRQ
T_NOEDG
E);
+ set_irq_type(irqs[i].irq, IRQ
_TYPE_NON
E);
}
if (res) {
}
if (res) {
@@
-560,7
+560,7
@@
void soc_pcmcia_disable_irqs(struct soc_pcmcia_socket *skt,
for (i = 0; i < nr; i++)
if (irqs[i].sock == skt->nr)
for (i = 0; i < nr; i++)
if (irqs[i].sock == skt->nr)
- set_irq_type(irqs[i].irq, IRQ
T_NOEDG
E);
+ set_irq_type(irqs[i].irq, IRQ
_TYPE_NON
E);
}
EXPORT_SYMBOL(soc_pcmcia_disable_irqs);
}
EXPORT_SYMBOL(soc_pcmcia_disable_irqs);
@@
-571,8
+571,8
@@
void soc_pcmcia_enable_irqs(struct soc_pcmcia_socket *skt,
for (i = 0; i < nr; i++)
if (irqs[i].sock == skt->nr) {
for (i = 0; i < nr; i++)
if (irqs[i].sock == skt->nr) {
- set_irq_type(irqs[i].irq, IRQ
T
_RISING);
- set_irq_type(irqs[i].irq, IRQ
T_BOTHEDGE
);
+ set_irq_type(irqs[i].irq, IRQ
_TYPE_EDGE
_RISING);
+ set_irq_type(irqs[i].irq, IRQ
_TYPE_EDGE_BOTH
);
}
}
EXPORT_SYMBOL(soc_pcmcia_enable_irqs);
}
}
EXPORT_SYMBOL(soc_pcmcia_enable_irqs);
@@
-748,7
+748,9
@@
int soc_common_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *ops
add_timer(&skt->poll_timer);
add_timer(&skt->poll_timer);
- device_create_file(&skt->socket.dev, &dev_attr_status);
+ ret = device_create_file(&skt->socket.dev, &dev_attr_status);
+ if (ret)
+ goto out_err_8;
}
dev_set_drvdata(dev, sinfo);
}
dev_set_drvdata(dev, sinfo);
@@
-758,6
+760,8
@@
int soc_common_drv_pcmcia_probe(struct device *dev, struct pcmcia_low_level *ops
do {
skt = &sinfo->skt[i];
do {
skt = &sinfo->skt[i];
+ device_remove_file(&skt->socket.dev, &dev_attr_status);
+ out_err_8:
del_timer_sync(&skt->poll_timer);
pcmcia_unregister_socket(&skt->socket);
del_timer_sync(&skt->poll_timer);
pcmcia_unregister_socket(&skt->socket);