aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/parisc/dino.c
diff options
context:
space:
mode:
authorHelge Deller <deller@parisc-linux.org>2006-01-10 20:47:50 -0500
committerKyle McMartin <kyle@duet.int.mcmartin.ca>2006-01-10 21:51:11 -0500
commit04d35d7324ed35983189bd396db7874a50bbea43 (patch)
tree2b74d598396673777cd391888a426d5df6da23f5 /drivers/parisc/dino.c
parent1b2425e3c79984975a1a3e6fa84512f23d96da9f (diff)
[PARISC] Fix Cirrus 6832 Cardbus on RDI Tadpole PARISC Laptop
Fix irq-off-by-one for Cirrus 6832 Cardbus on RDI Tadpole PARISC Laptop. We just DECLARE_PCI_FIXUP_ENABLE as it is unlikely that this will be found in any other parisc system. Signed-off-by: Helge Deller <deller@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Diffstat (limited to 'drivers/parisc/dino.c')
-rw-r--r--drivers/parisc/dino.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/parisc/dino.c b/drivers/parisc/dino.c
index 5ab75334c57..595d1987e99 100644
--- a/drivers/parisc/dino.c
+++ b/drivers/parisc/dino.c
@@ -435,6 +435,21 @@ static void dino_choose_irq(struct parisc_device *dev, void *ctrl)
435 dino_assign_irq(dino, irq, &dev->irq); 435 dino_assign_irq(dino, irq, &dev->irq);
436} 436}
437 437
438
439/*
440 * Cirrus 6832 Cardbus reports wrong irq on RDI Tadpole PARISC Laptop (deller@gmx.de)
441 * (the irqs are off-by-one, not sure yet if this is a cirrus, dino-hardware or dino-driver problem...)
442 */
443static void __devinit quirk_cirrus_cardbus(struct pci_dev *dev)
444{
445 u8 new_irq = dev->irq - 1;
446 printk(KERN_INFO "PCI: Cirrus Cardbus IRQ fixup for %s, from %d to %d\n",
447 pci_name(dev), dev->irq, new_irq);
448 dev->irq = new_irq;
449}
450DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_CIRRUS, PCI_DEVICE_ID_CIRRUS_6832, quirk_cirrus_cardbus );
451
452
438static void __init 453static void __init
439dino_bios_init(void) 454dino_bios_init(void)
440{ 455{