aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide')
-rw-r--r--drivers/ide/cy82c693.c2
-rw-r--r--drivers/ide/ide_platform.c6
-rw-r--r--drivers/ide/palm_bk3710.c2
-rw-r--r--drivers/ide/tx4939ide.c4
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
146static void __devinit init_iops_cy82c693(ide_hwif_t *hwif) 148static 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
24static void __devinit plat_ide_setup_ports(struct ide_hw *hw, 25static 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));