diff options
author | Aaron Durbin <adurbin@chromium.org> | 2019-11-08 14:37:58 -0700 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2019-11-11 10:28:09 +0000 |
commit | 56aeae0400df8843b62bea85d0dbe27aaf0be325 (patch) | |
tree | 7df697460b26f9d0d40da88675e494106d6f0e63 | |
parent | b1ea53d846b865d5fa1332fb2e31d0f2865a7fc0 (diff) |
region: publicize region_end() and add region_device_end()
Provide region_device_end() and make region_end() publically available
for use to match a pattern of open coding the offset + size calculation
for both struct region and struct region_device. Apply the use of the
helpers where the usage matches in the code.
Change-Id: Iaef5d007eef9a77f7f33b0e89298abef0197352d
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/36689
Reviewed-by: Julius Werner <jwerner@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r-- | src/commonlib/include/commonlib/region.h | 10 | ||||
-rw-r--r-- | src/commonlib/region.c | 5 | ||||
-rw-r--r-- | src/drivers/spi/winbond.c | 9 |
3 files changed, 13 insertions, 11 deletions
diff --git a/src/commonlib/include/commonlib/region.h b/src/commonlib/include/commonlib/region.h index f27a494d39..39db1bb627 100644 --- a/src/commonlib/include/commonlib/region.h +++ b/src/commonlib/include/commonlib/region.h @@ -122,6 +122,11 @@ static inline size_t region_sz(const struct region *r) return r->size; } +static inline size_t region_end(const struct region *r) +{ + return region_offset(r) + region_sz(r); +} + static inline const struct region *region_device_region( const struct region_device *rdev) { @@ -138,6 +143,11 @@ static inline size_t region_device_offset(const struct region_device *rdev) return region_offset(region_device_region(rdev)); } +static inline size_t region_device_end(const struct region_device *rdev) +{ + return region_end(region_device_region(rdev)); +} + /* Memory map entire region device. Same semantics as rdev_mmap() above. */ static inline void *rdev_mmap_full(const struct region_device *rd) { diff --git a/src/commonlib/region.c b/src/commonlib/region.c index ca7b6efe4b..4a7e285747 100644 --- a/src/commonlib/region.c +++ b/src/commonlib/region.c @@ -15,11 +15,6 @@ #include <commonlib/region.h> #include <string.h> -static inline size_t region_end(const struct region *r) -{ - return region_sz(r) + region_offset(r); -} - int region_is_subregion(const struct region *p, const struct region *c) { if (region_offset(c) < region_offset(p)) diff --git a/src/drivers/spi/winbond.c b/src/drivers/spi/winbond.c index 00a7bf90cd..fa9140ec01 100644 --- a/src/drivers/spi/winbond.c +++ b/src/drivers/spi/winbond.c @@ -431,8 +431,7 @@ static int winbond_get_write_protection(const struct spi_flash *flash, } printk(BIOS_DEBUG, "WINBOND: flash protected range 0x%08zx-0x%08zx\n", - region_offset(&wp_region), - region_offset(&wp_region) + region_sz(&wp_region)); + region_offset(&wp_region), region_end(&wp_region)); return region_is_subregion(&wp_region, region); } @@ -562,8 +561,7 @@ winbond_set_write_protection(const struct spi_flash *flash, int ret; /* Need to touch TOP or BOTTOM */ - if (region_offset(region) != 0 && - (region_offset(region) + region_sz(region)) != flash->size) + if (region_offset(region) != 0 && region_end(region) != flash->size) return -1; params = (const struct winbond_spi_flash_params *)flash->driver_private; @@ -654,8 +652,7 @@ winbond_set_write_protection(const struct spi_flash *flash, return ret; printk(BIOS_DEBUG, "WINBOND: write-protection set to range " - "0x%08zx-0x%08zx\n", region_offset(region), - region_offset(region) + region_sz(region)); + "0x%08zx-0x%08zx\n", region_offset(region), region_end(region)); return ret; } |