diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-08-05 06:41:10 -1000 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-08-05 06:41:10 -1000 |
commit | 5fdb32472ec6cd1d62788d8872585b342b5d1d92 (patch) | |
tree | 02fa80c65f4a8cf61724594c5181246da0c48945 | |
parent | 140d0b2108faebc77c6523296e211e509cb9f5f9 (diff) | |
parent | 0302899e144296d6ce8cb3679a9a42d5c6436910 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide:
drivers/ide/cy82c693.c: Add missing pci_dev_put
ide: Fix irq flags madness
-rw-r--r-- | drivers/ide/cy82c693.c | 2 | ||||
-rw-r--r-- | drivers/ide/ide_platform.c | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/drivers/ide/cy82c693.c b/drivers/ide/cy82c693.c index 3be60da5212..67cbcfa3512 100644 --- a/drivers/ide/cy82c693.c +++ b/drivers/ide/cy82c693.c @@ -141,6 +141,8 @@ static void cy82c693_set_pio_mode(ide_hwif_t *hwif, ide_drive_t *drive) pci_write_config_byte(dev, CY82_IDE_SLAVE_IOW, time_16); pci_write_config_byte(dev, CY82_IDE_SLAVE_8BIT, time_8); } + if (hwif->index > 0) + pci_dev_put(dev); } static void __devinit init_iops_cy82c693(ide_hwif_t *hwif) diff --git a/drivers/ide/ide_platform.c b/drivers/ide/ide_platform.c index 542603b394e..962693b10a1 100644 --- a/drivers/ide/ide_platform.c +++ b/drivers/ide/ide_platform.c @@ -19,6 +19,7 @@ #include <linux/module.h> #include <linux/ata_platform.h> #include <linux/platform_device.h> +#include <linux/interrupt.h> #include <linux/io.h> static void __devinit plat_ide_setup_ports(struct ide_hw *hw, @@ -95,7 +96,10 @@ static int __devinit plat_ide_probe(struct platform_device *pdev) plat_ide_setup_ports(&hw, base, alt_base, pdata, res_irq->start); hw.dev = &pdev->dev; - d.irq_flags = res_irq->flags; + d.irq_flags = res_irq->flags & IRQF_TRIGGER_MASK; + if (res_irq->flags & IORESOURCE_IRQ_SHAREABLE) + d.irq_flags |= IRQF_SHARED; + if (mmio) d.host_flags |= IDE_HFLAG_MMIO; |