diff options
Diffstat (limited to 'drivers/ide')
-rw-r--r-- | drivers/ide/cy82c693.c | 2 | ||||
-rw-r--r-- | drivers/ide/ide_platform.c | 6 | ||||
-rw-r--r-- | drivers/ide/palm_bk3710.c | 2 | ||||
-rw-r--r-- | drivers/ide/tx4939ide.c | 4 |
4 files changed, 10 insertions, 4 deletions
diff --git a/drivers/ide/cy82c693.c b/drivers/ide/cy82c693.c index 3be60da52123..67cbcfa35122 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) | |||
141 | pci_write_config_byte(dev, CY82_IDE_SLAVE_IOW, time_16); | 141 | pci_write_config_byte(dev, CY82_IDE_SLAVE_IOW, time_16); |
142 | pci_write_config_byte(dev, CY82_IDE_SLAVE_8BIT, time_8); | 142 | pci_write_config_byte(dev, CY82_IDE_SLAVE_8BIT, time_8); |
143 | } | 143 | } |
144 | if (hwif->index > 0) | ||
145 | pci_dev_put(dev); | ||
144 | } | 146 | } |
145 | 147 | ||
146 | static void __devinit init_iops_cy82c693(ide_hwif_t *hwif) | 148 | 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 542603b394e4..962693b10a1c 100644 --- a/drivers/ide/ide_platform.c +++ b/drivers/ide/ide_platform.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/module.h> | 19 | #include <linux/module.h> |
20 | #include <linux/ata_platform.h> | 20 | #include <linux/ata_platform.h> |
21 | #include <linux/platform_device.h> | 21 | #include <linux/platform_device.h> |
22 | #include <linux/interrupt.h> | ||
22 | #include <linux/io.h> | 23 | #include <linux/io.h> |
23 | 24 | ||
24 | static void __devinit plat_ide_setup_ports(struct ide_hw *hw, | 25 | 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) | |||
95 | plat_ide_setup_ports(&hw, base, alt_base, pdata, res_irq->start); | 96 | plat_ide_setup_ports(&hw, base, alt_base, pdata, res_irq->start); |
96 | hw.dev = &pdev->dev; | 97 | hw.dev = &pdev->dev; |
97 | 98 | ||
98 | d.irq_flags = res_irq->flags; | 99 | d.irq_flags = res_irq->flags & IRQF_TRIGGER_MASK; |
100 | if (res_irq->flags & IORESOURCE_IRQ_SHAREABLE) | ||
101 | d.irq_flags |= IRQF_SHARED; | ||
102 | |||
99 | if (mmio) | 103 | if (mmio) |
100 | d.host_flags |= IDE_HFLAG_MMIO; | 104 | d.host_flags |= IDE_HFLAG_MMIO; |
101 | 105 | ||
diff --git a/drivers/ide/palm_bk3710.c b/drivers/ide/palm_bk3710.c index 9e8f4e1b0cc9..712c7904d03e 100644 --- a/drivers/ide/palm_bk3710.c +++ b/drivers/ide/palm_bk3710.c | |||
@@ -342,7 +342,7 @@ static int __init palm_bk3710_probe(struct platform_device *pdev) | |||
342 | return -ENODEV; | 342 | return -ENODEV; |
343 | } | 343 | } |
344 | 344 | ||
345 | mem_size = mem->end - mem->start + 1; | 345 | mem_size = resource_size(mem); |
346 | if (request_mem_region(mem->start, mem_size, "palm_bk3710") == NULL) { | 346 | if (request_mem_region(mem->start, mem_size, "palm_bk3710") == NULL) { |
347 | printk(KERN_ERR "failed to request memory region\n"); | 347 | printk(KERN_ERR "failed to request memory region\n"); |
348 | return -EBUSY; | 348 | return -EBUSY; |
diff --git a/drivers/ide/tx4939ide.c b/drivers/ide/tx4939ide.c index bed3e39aac96..71c231954972 100644 --- a/drivers/ide/tx4939ide.c +++ b/drivers/ide/tx4939ide.c | |||
@@ -551,10 +551,10 @@ static int __init tx4939ide_probe(struct platform_device *pdev) | |||
551 | return -ENODEV; | 551 | return -ENODEV; |
552 | 552 | ||
553 | if (!devm_request_mem_region(&pdev->dev, res->start, | 553 | if (!devm_request_mem_region(&pdev->dev, res->start, |
554 | res->end - res->start + 1, "tx4938ide")) | 554 | resource_size(res), "tx4938ide")) |
555 | return -EBUSY; | 555 | return -EBUSY; |
556 | mapbase = (unsigned long)devm_ioremap(&pdev->dev, res->start, | 556 | mapbase = (unsigned long)devm_ioremap(&pdev->dev, res->start, |
557 | res->end - res->start + 1); | 557 | resource_size(res)); |
558 | if (!mapbase) | 558 | if (!mapbase) |
559 | return -EBUSY; | 559 | return -EBUSY; |
560 | memset(&hw, 0, sizeof(hw)); | 560 | memset(&hw, 0, sizeof(hw)); |