summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2019-11-08 14:37:58 -0700
committerPatrick Georgi <pgeorgi@google.com>2019-11-11 10:28:09 +0000
commit56aeae0400df8843b62bea85d0dbe27aaf0be325 (patch)
tree7df697460b26f9d0d40da88675e494106d6f0e63
parentb1ea53d846b865d5fa1332fb2e31d0f2865a7fc0 (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.h10
-rw-r--r--src/commonlib/region.c5
-rw-r--r--src/drivers/spi/winbond.c9
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;
}