netdrvr/pcmcia: use IRQ_TYPE_DYNAMIC_SHARING flag for irq.Attributes.
The drivers below support IRQ-sharing. 3c574_cs, 3c589_cs, pcnet_cs, axnet_cs, smc91c92_cs, fmvj18x_cs. xirc2ps_cs, serial_cs. Signed-off-by: Komuro <komurojun-mbn@nifty.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
5d031e9e7e
commit
5e7bf8cc60
|
@ -274,7 +274,7 @@ static int tc574_probe(struct pcmcia_device *link)
|
||||||
spin_lock_init(&lp->window_lock);
|
spin_lock_init(&lp->window_lock);
|
||||||
link->io.NumPorts1 = 32;
|
link->io.NumPorts1 = 32;
|
||||||
link->io.Attributes1 = IO_DATA_PATH_WIDTH_16;
|
link->io.Attributes1 = IO_DATA_PATH_WIDTH_16;
|
||||||
link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT;
|
link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING|IRQ_HANDLE_PRESENT;
|
||||||
link->irq.IRQInfo1 = IRQ_LEVEL_ID;
|
link->irq.IRQInfo1 = IRQ_LEVEL_ID;
|
||||||
link->irq.Handler = &el3_interrupt;
|
link->irq.Handler = &el3_interrupt;
|
||||||
link->irq.Instance = dev;
|
link->irq.Instance = dev;
|
||||||
|
|
|
@ -188,7 +188,7 @@ static int tc589_probe(struct pcmcia_device *link)
|
||||||
spin_lock_init(&lp->lock);
|
spin_lock_init(&lp->lock);
|
||||||
link->io.NumPorts1 = 16;
|
link->io.NumPorts1 = 16;
|
||||||
link->io.Attributes1 = IO_DATA_PATH_WIDTH_16;
|
link->io.Attributes1 = IO_DATA_PATH_WIDTH_16;
|
||||||
link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT;
|
link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING|IRQ_HANDLE_PRESENT;
|
||||||
link->irq.IRQInfo1 = IRQ_LEVEL_ID;
|
link->irq.IRQInfo1 = IRQ_LEVEL_ID;
|
||||||
link->irq.Handler = &el3_interrupt;
|
link->irq.Handler = &el3_interrupt;
|
||||||
link->irq.Instance = dev;
|
link->irq.Instance = dev;
|
||||||
|
|
|
@ -158,7 +158,7 @@ static int axnet_probe(struct pcmcia_device *link)
|
||||||
info = PRIV(dev);
|
info = PRIV(dev);
|
||||||
info->p_dev = link;
|
info->p_dev = link;
|
||||||
link->priv = dev;
|
link->priv = dev;
|
||||||
link->irq.Attributes = IRQ_TYPE_EXCLUSIVE;
|
link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
|
||||||
link->irq.IRQInfo1 = IRQ_LEVEL_ID;
|
link->irq.IRQInfo1 = IRQ_LEVEL_ID;
|
||||||
link->conf.Attributes = CONF_ENABLE_IRQ;
|
link->conf.Attributes = CONF_ENABLE_IRQ;
|
||||||
link->conf.IntType = INT_MEMORY_AND_IO;
|
link->conf.IntType = INT_MEMORY_AND_IO;
|
||||||
|
|
|
@ -249,7 +249,7 @@ static int fmvj18x_probe(struct pcmcia_device *link)
|
||||||
link->io.IOAddrLines = 5;
|
link->io.IOAddrLines = 5;
|
||||||
|
|
||||||
/* Interrupt setup */
|
/* Interrupt setup */
|
||||||
link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT;
|
link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING|IRQ_HANDLE_PRESENT;
|
||||||
link->irq.IRQInfo1 = IRQ_LEVEL_ID;
|
link->irq.IRQInfo1 = IRQ_LEVEL_ID;
|
||||||
link->irq.Handler = &fjn_interrupt;
|
link->irq.Handler = &fjn_interrupt;
|
||||||
link->irq.Instance = dev;
|
link->irq.Instance = dev;
|
||||||
|
|
|
@ -254,7 +254,7 @@ static int pcnet_probe(struct pcmcia_device *link)
|
||||||
info->p_dev = link;
|
info->p_dev = link;
|
||||||
link->priv = dev;
|
link->priv = dev;
|
||||||
|
|
||||||
link->irq.Attributes = IRQ_TYPE_EXCLUSIVE;
|
link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
|
||||||
link->irq.IRQInfo1 = IRQ_LEVEL_ID;
|
link->irq.IRQInfo1 = IRQ_LEVEL_ID;
|
||||||
link->conf.Attributes = CONF_ENABLE_IRQ;
|
link->conf.Attributes = CONF_ENABLE_IRQ;
|
||||||
link->conf.IntType = INT_MEMORY_AND_IO;
|
link->conf.IntType = INT_MEMORY_AND_IO;
|
||||||
|
|
|
@ -328,7 +328,7 @@ static int smc91c92_probe(struct pcmcia_device *link)
|
||||||
link->io.NumPorts1 = 16;
|
link->io.NumPorts1 = 16;
|
||||||
link->io.Attributes1 = IO_DATA_PATH_WIDTH_AUTO;
|
link->io.Attributes1 = IO_DATA_PATH_WIDTH_AUTO;
|
||||||
link->io.IOAddrLines = 4;
|
link->io.IOAddrLines = 4;
|
||||||
link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT;
|
link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING|IRQ_HANDLE_PRESENT;
|
||||||
link->irq.IRQInfo1 = IRQ_LEVEL_ID;
|
link->irq.IRQInfo1 = IRQ_LEVEL_ID;
|
||||||
link->irq.Handler = &smc_interrupt;
|
link->irq.Handler = &smc_interrupt;
|
||||||
link->irq.Instance = dev;
|
link->irq.Instance = dev;
|
||||||
|
|
|
@ -886,7 +886,7 @@ xirc2ps_config(struct pcmcia_device * link)
|
||||||
}
|
}
|
||||||
printk(KNOT_XIRC "no ports available\n");
|
printk(KNOT_XIRC "no ports available\n");
|
||||||
} else {
|
} else {
|
||||||
link->irq.Attributes |= IRQ_TYPE_EXCLUSIVE;
|
link->irq.Attributes |= IRQ_TYPE_DYNAMIC_SHARING;
|
||||||
link->io.NumPorts1 = 16;
|
link->io.NumPorts1 = 16;
|
||||||
for (ioaddr = 0x300; ioaddr < 0x400; ioaddr += 0x10) {
|
for (ioaddr = 0x300; ioaddr < 0x400; ioaddr += 0x10) {
|
||||||
link->io.BasePort1 = ioaddr;
|
link->io.BasePort1 = ioaddr;
|
||||||
|
|
|
@ -345,7 +345,7 @@ static int serial_probe(struct pcmcia_device *link)
|
||||||
|
|
||||||
link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
|
link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
|
||||||
link->io.NumPorts1 = 8;
|
link->io.NumPorts1 = 8;
|
||||||
link->irq.Attributes = IRQ_TYPE_EXCLUSIVE;
|
link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING;
|
||||||
link->irq.IRQInfo1 = IRQ_LEVEL_ID;
|
link->irq.IRQInfo1 = IRQ_LEVEL_ID;
|
||||||
link->conf.Attributes = CONF_ENABLE_IRQ;
|
link->conf.Attributes = CONF_ENABLE_IRQ;
|
||||||
if (do_sound) {
|
if (do_sound) {
|
||||||
|
|
Loading…
Reference in New Issue