diff options
author | Alexander Shiyan <shc_work@mail.ru> | 2016-05-19 20:19:08 +0300 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2016-05-23 08:23:54 +0200 |
commit | b2b000699b3e0f17e5f209ed8e1dd7f0437fb34b (patch) | |
tree | ff820239273759c473c719dd5818fb8f6bb90c1f | |
parent | b47a5a7ed6d105a64c02893d5150517fc2ff5f72 (diff) | |
download | barebox-b2b000699b3e0f17e5f209ed8e1dd7f0437fb34b.tar.gz barebox-b2b000699b3e0f17e5f209ed8e1dd7f0437fb34b.tar.xz |
ATA: platform_ide: Fix resource allocation
Fixes: 3bd69ad driver: replace dev_request_mem_region with
dev_request_mem_resource
The driver trying to use memory resource, then IO resource.
The ALT register is optional.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | drivers/ata/intf_platform_ide.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/drivers/ata/intf_platform_ide.c b/drivers/ata/intf_platform_ide.c index c3af0833ba..15f5c0afaa 100644 --- a/drivers/ata/intf_platform_ide.c +++ b/drivers/ata/intf_platform_ide.c @@ -104,17 +104,13 @@ static int platform_ide_probe(struct device_d *dev) } 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)) { + if (!IS_ERR(iores)) { + reg_base = IOMEM(iores->start); mmio = 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)) + if (!IS_ERR(iores)) + alt_base = IOMEM(iores->start); + else alt_base = NULL; } else { reg = dev_get_resource(dev, IORESOURCE_IO, 0); |