summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAndrey Smirnov <andrew.smirnov@gmail.com>2018-10-26 18:32:25 -0700
committerSascha Hauer <s.hauer@pengutronix.de>2018-10-29 09:42:20 +0100
commit9d8477fcb8e43a5267ade33aca4a09f78a8d7aaa (patch)
tree7306a9fe0aef08e9ac908ffbd6c35bad8f306e8a /drivers
parentfb40e3c1cb2d5182edcd9dabfcd24e30bdf4ee25 (diff)
downloadbarebox-9d8477fcb8e43a5267ade33aca4a09f78a8d7aaa.tar.gz
barebox-9d8477fcb8e43a5267ade33aca4a09f78a8d7aaa.tar.xz
drivers: base: Simplify generic_memmap_ro()
Simplify generic_memmap_ro() by re-implementing it using generic_memmap_rw(). Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/base/driver.c21
1 files changed, 7 insertions, 14 deletions
diff --git a/drivers/base/driver.c b/drivers/base/driver.c
index c43a4bde2a..d9157baac3 100644
--- a/drivers/base/driver.c
+++ b/drivers/base/driver.c
@@ -435,29 +435,22 @@ void __iomem *dev_request_mem_region(struct device_d *dev, int num)
}
EXPORT_SYMBOL(dev_request_mem_region);
-int generic_memmap_ro(struct cdev *cdev, void **map, int flags)
+int generic_memmap_rw(struct cdev *cdev, void **map, int flags)
{
if (!cdev->dev)
return -EINVAL;
- if (flags & PROT_WRITE)
- return -EACCES;
*map = dev_get_mem_region(cdev->dev, 0);
- if (IS_ERR(*map))
- return PTR_ERR(*map);
- return 0;
+
+ return PTR_ERR_OR_ZERO(*map);
}
-int generic_memmap_rw(struct cdev *cdev, void **map, int flags)
+int generic_memmap_ro(struct cdev *cdev, void **map, int flags)
{
- if (!cdev->dev)
- return -EINVAL;
-
- *map = dev_get_mem_region(cdev->dev, 0);
- if (IS_ERR(*map))
- return PTR_ERR(*map);
+ if (flags & PROT_WRITE)
+ return -EACCES;
- return 0;
+ return generic_memmap_rw(cdev, map, flags);
}
int dummy_probe(struct device_d *dev)