diff options
author | Andrey Smirnov <andrew.smirnov@gmail.com> | 2018-10-26 18:32:25 -0700 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2018-10-29 09:42:20 +0100 |
commit | 9d8477fcb8e43a5267ade33aca4a09f78a8d7aaa (patch) | |
tree | 7306a9fe0aef08e9ac908ffbd6c35bad8f306e8a /drivers/base | |
parent | fb40e3c1cb2d5182edcd9dabfcd24e30bdf4ee25 (diff) | |
download | barebox-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/base')
-rw-r--r-- | drivers/base/driver.c | 21 |
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) |