mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 09:19:51 +00:00
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
This commit is contained in:
commit
f1f6ea3522
3 changed files with 11 additions and 10 deletions
|
@ -322,6 +322,7 @@ static int smc91c92_probe(struct pcmcia_device *link)
|
|||
return -ENOMEM;
|
||||
smc = netdev_priv(dev);
|
||||
smc->p_dev = link;
|
||||
link->priv = dev;
|
||||
|
||||
spin_lock_init(&smc->lock);
|
||||
link->io.NumPorts1 = 16;
|
||||
|
|
|
@ -671,6 +671,7 @@ static void pcmcia_requery(struct pcmcia_socket *s)
|
|||
if (old_funcs != new_funcs) {
|
||||
/* we need to re-start */
|
||||
pcmcia_card_remove(s, NULL);
|
||||
s->functions = 0;
|
||||
pcmcia_card_add(s);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -880,6 +880,12 @@ static struct cardbus_type cardbus_type[] = {
|
|||
.restore_state = ti_restore_state,
|
||||
.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
|
||||
#ifdef CONFIG_YENTA_RICOH
|
||||
[CARDBUS_TYPE_RICOH] = {
|
||||
|
@ -902,14 +908,6 @@ static struct cardbus_type cardbus_type[] = {
|
|||
.restore_state = o2micro_restore_state,
|
||||
},
|
||||
#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)
|
|||
/* probes the PCI interrupt, use only on override functions */
|
||||
static int yenta_probe_cb_irq(struct yenta_socket *socket)
|
||||
{
|
||||
u8 reg;
|
||||
u8 reg = 0;
|
||||
|
||||
if (!socket->cb_irq)
|
||||
return -1;
|
||||
|
@ -989,7 +987,8 @@ static int yenta_probe_cb_irq(struct yenta_socket *socket)
|
|||
}
|
||||
|
||||
/* 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);
|
||||
cb_writel(socket, CB_SOCKET_EVENT, -1);
|
||||
cb_writel(socket, CB_SOCKET_MASK, CB_CSTSMASK);
|
||||
|
|
Loading…
Reference in a new issue