diff options
author | Helge Deller <deller@parisc-linux.org> | 2006-01-10 20:47:50 -0500 |
---|---|---|
committer | Kyle McMartin <kyle@duet.int.mcmartin.ca> | 2006-01-10 21:51:11 -0500 |
commit | 04d35d7324ed35983189bd396db7874a50bbea43 (patch) | |
tree | 2b74d598396673777cd391888a426d5df6da23f5 /drivers/parisc/dino.c | |
parent | 1b2425e3c79984975a1a3e6fa84512f23d96da9f (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.c | 15 |
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 | */ | ||
443 | static 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 | } | ||
450 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_CIRRUS, PCI_DEVICE_ID_CIRRUS_6832, quirk_cirrus_cardbus ); | ||
451 | |||
452 | |||
438 | static void __init | 453 | static void __init |
439 | dino_bios_init(void) | 454 | dino_bios_init(void) |
440 | { | 455 | { |