diff options
Diffstat (limited to 'drivers/ata/intf_platform_ide.c')
-rw-r--r-- | drivers/ata/intf_platform_ide.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/ata/intf_platform_ide.c b/drivers/ata/intf_platform_ide.c index d0f7984a2c..6e74bfb089 100644 --- a/drivers/ata/intf_platform_ide.c +++ b/drivers/ata/intf_platform_ide.c @@ -80,6 +80,7 @@ static void platform_ide_setup_port(void *reg_base, void *alt_base, static int platform_ide_probe(struct device_d *dev) { + struct resource *iores; int rc; struct ide_port_info *pdata = dev->platform_data; struct ide_port *ide; @@ -102,11 +103,17 @@ static int platform_ide_probe(struct device_d *dev) return -EINVAL; } - reg_base = dev_request_mem_region(dev, 0); + iores = dev_request_mem_resource(dev, 0); + if (IS_ERR(iores)) + return PTR_ERR(iores); + reg_base = IOMEM(iores->start); if (!IS_ERR(reg_base)) { mmio = 1; - alt_base = dev_request_mem_region(dev, 1); + iores = dev_request_mem_resource(dev, 1); + if (IS_ERR(iores)) + return PTR_ERR(iores); + alt_base = IOMEM(iores->start); if (IS_ERR(alt_base)) alt_base = NULL; } else { |