diff options
author | Aaron Durbin <adurbin@chromium.org> | 2015-05-15 13:23:49 -0500 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2015-05-19 10:36:43 +0200 |
commit | e645bcae7ccf1d7e4e75aa7d9149df5dae1d19c4 (patch) | |
tree | 333f4df246ad5ce0026e9d7879c300cc2f5d5791 | |
parent | c877149e9d46b0de4bc709faf3cfb4f0a23c9cc5 (diff) | |
download | coreboot-e645bcae7ccf1d7e4e75aa7d9149df5dae1d19c4.tar.xz |
regions: add more helpers
Fill out functions to get the offset and size for both
regions and region_devices. Additionally add a helper for
memory mapping an entire region_device.
Change-Id: I8896eaf5b29e4a67470f4adc6f5b541566cb93b5
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/10215
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
-rw-r--r-- | src/include/region.h | 21 | ||||
-rw-r--r-- | src/lib/region.c | 5 |
2 files changed, 21 insertions, 5 deletions
diff --git a/src/include/region.h b/src/include/region.h index 99ea488cca..82db854994 100644 --- a/src/include/region.h +++ b/src/include/region.h @@ -93,11 +93,32 @@ struct region_device { }, \ } +static inline size_t region_offset(const struct region *r) +{ + return r->offset; +} + static inline size_t region_sz(const struct region *r) { return r->size; } +static inline size_t region_device_sz(const struct region_device *rdev) +{ + return region_sz(&rdev->region); +} + +static inline size_t region_device_offset(const struct region_device *rdev) +{ + return region_offset(&rdev->region); +} + +/* Memory map entire region device. Same semantics as rdev_mmap() above. */ +static inline void *rdev_mmap_full(const struct region_device *rd) +{ + return rdev_mmap(rd, 0, region_device_sz(rd)); +} + struct mem_region_device { char *base; struct region_device rdev; diff --git a/src/lib/region.c b/src/lib/region.c index b56b3d7e90..d5d37629e9 100644 --- a/src/lib/region.c +++ b/src/lib/region.c @@ -20,11 +20,6 @@ #include <region.h> #include <string.h> -static inline size_t region_offset(const struct region *r) -{ - return r->offset; -} - static inline size_t region_end(const struct region *r) { return region_sz(r) + region_offset(r); |