From edd79590b06791de4908e93ab65d4ee09e3df85a Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Wed, 10 Aug 2016 11:39:00 -0500 Subject: commonlib/region: allow empty mmap()/munmap() in region_device_ops Instead of assuming all region_devices have an mmap() and munmap() implementation fail those calls when one isn't provided. BUG=chrome-os-partner:56151 Change-Id: I9b03e084aa604d52d6b5bab47c0bf99d9fbcd422 Signed-off-by: Aaron Durbin Reviewed-on: https://review.coreboot.org/16190 Reviewed-by: Furquan Shaikh Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel --- src/commonlib/region.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src') diff --git a/src/commonlib/region.c b/src/commonlib/region.c index 838107f312..ac0faf111f 100644 --- a/src/commonlib/region.c +++ b/src/commonlib/region.c @@ -74,6 +74,9 @@ void *rdev_mmap(const struct region_device *rd, size_t offset, size_t size) rdev = rdev_root(rd); + if (rdev->ops->mmap == NULL) + return NULL; + return rdev->ops->mmap(rdev, req.offset, req.size); } @@ -83,6 +86,9 @@ int rdev_munmap(const struct region_device *rd, void *mapping) rdev = rdev_root(rd); + if (rdev->ops->munmap == NULL) + return -1; + return rdev->ops->munmap(rdev, mapping); } -- cgit v1.2.3