Commit f1f6ea35 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6

* 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6:
  pcmcia: avoid validate_cis failure on CIS override
  pcmcia: dev_node removal bugfix
  pcmcia: yenta_socket.c Remove extra #ifdef CONFIG_YENTA_TI
  pcmcia: only keep saved I365_CSCINT flag if there is no PCI irq
parents 63c70a0d b83156b5
...@@ -322,6 +322,7 @@ static int smc91c92_probe(struct pcmcia_device *link) ...@@ -322,6 +322,7 @@ static int smc91c92_probe(struct pcmcia_device *link)
return -ENOMEM; return -ENOMEM;
smc = netdev_priv(dev); smc = netdev_priv(dev);
smc->p_dev = link; smc->p_dev = link;
link->priv = dev;
spin_lock_init(&smc->lock); spin_lock_init(&smc->lock);
link->io.NumPorts1 = 16; link->io.NumPorts1 = 16;
......
...@@ -671,6 +671,7 @@ static void pcmcia_requery(struct pcmcia_socket *s) ...@@ -671,6 +671,7 @@ static void pcmcia_requery(struct pcmcia_socket *s)
if (old_funcs != new_funcs) { if (old_funcs != new_funcs) {
/* we need to re-start */ /* we need to re-start */
pcmcia_card_remove(s, NULL); pcmcia_card_remove(s, NULL);
s->functions = 0;
pcmcia_card_add(s); pcmcia_card_add(s);
} }
} }
......
...@@ -880,6 +880,12 @@ static struct cardbus_type cardbus_type[] = { ...@@ -880,6 +880,12 @@ static struct cardbus_type cardbus_type[] = {
.restore_state = ti_restore_state, .restore_state = ti_restore_state,
.sock_init = ti_init, .sock_init = ti_init,
}, },
[CARDBUS_TYPE_ENE] = {
.override = ene_override,
.save_state = ti_save_state,
.restore_state = ti_restore_state,
.sock_init = ti_init,
},
#endif #endif
#ifdef CONFIG_YENTA_RICOH #ifdef CONFIG_YENTA_RICOH
[CARDBUS_TYPE_RICOH] = { [CARDBUS_TYPE_RICOH] = {
...@@ -902,14 +908,6 @@ static struct cardbus_type cardbus_type[] = { ...@@ -902,14 +908,6 @@ static struct cardbus_type cardbus_type[] = {
.restore_state = o2micro_restore_state, .restore_state = o2micro_restore_state,
}, },
#endif #endif
#ifdef CONFIG_YENTA_TI
[CARDBUS_TYPE_ENE] = {
.override = ene_override,
.save_state = ti_save_state,
.restore_state = ti_restore_state,
.sock_init = ti_init,
},
#endif
}; };
...@@ -975,7 +973,7 @@ static irqreturn_t yenta_probe_handler(int irq, void *dev_id) ...@@ -975,7 +973,7 @@ static irqreturn_t yenta_probe_handler(int irq, void *dev_id)
/* probes the PCI interrupt, use only on override functions */ /* probes the PCI interrupt, use only on override functions */
static int yenta_probe_cb_irq(struct yenta_socket *socket) static int yenta_probe_cb_irq(struct yenta_socket *socket)
{ {
u8 reg; u8 reg = 0;
if (!socket->cb_irq) if (!socket->cb_irq)
return -1; return -1;
...@@ -989,7 +987,8 @@ static int yenta_probe_cb_irq(struct yenta_socket *socket) ...@@ -989,7 +987,8 @@ static int yenta_probe_cb_irq(struct yenta_socket *socket)
} }
/* generate interrupt, wait */ /* generate interrupt, wait */
reg = exca_readb(socket, I365_CSCINT); if (!socket->dev->irq)
reg = exca_readb(socket, I365_CSCINT);
exca_writeb(socket, I365_CSCINT, reg | I365_CSC_STSCHG); exca_writeb(socket, I365_CSCINT, reg | I365_CSC_STSCHG);
cb_writel(socket, CB_SOCKET_EVENT, -1); cb_writel(socket, CB_SOCKET_EVENT, -1);
cb_writel(socket, CB_SOCKET_MASK, CB_CSTSMASK); cb_writel(socket, CB_SOCKET_MASK, CB_CSTSMASK);
......
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