summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Shiyan <shc_work@mail.ru>2016-05-19 20:19:08 +0300
committerSascha Hauer <s.hauer@pengutronix.de>2016-05-23 08:23:54 +0200
commitb2b000699b3e0f17e5f209ed8e1dd7f0437fb34b (patch)
treeff820239273759c473c719dd5818fb8f6bb90c1f
parentb47a5a7ed6d105a64c02893d5150517fc2ff5f72 (diff)
downloadbarebox-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.c14
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);