From 56aeae0400df8843b62bea85d0dbe27aaf0be325 Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Fri, 8 Nov 2019 14:37:58 -0700 Subject: 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 Reviewed-on: https://review.coreboot.org/c/coreboot/+/36689 Reviewed-by: Julius Werner Tested-by: build bot (Jenkins) --- src/commonlib/include/commonlib/region.h | 10 ++++++++++ src/commonlib/region.c | 5 ----- src/drivers/spi/winbond.c | 9 +++------ 3 files changed, 13 insertions(+), 11 deletions(-) (limited to 'src') 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 #include -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; } -- cgit v1.2.3