From 2b57691ce0dcb06d6d8677393f76006c363d5856 Mon Sep 17 00:00:00 2001 From: Furquan Shaikh Date: Sun, 19 Jun 2016 23:16:45 -0700 Subject: commonlib/region: Add helpers for dynamic initialization of region dev This allows initialization of runtime region devices and xlate region devices where all parameters cannot be statically determined. BUG=chrome-os-partner:54563 Change-Id: Ia6e1b695fed3bbfa08598d1593e650fc1465d41f Signed-off-by: Furquan Shaikh Reviewed-on: https://review.coreboot.org/15267 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin --- src/commonlib/include/commonlib/region.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/commonlib/include') diff --git a/src/commonlib/include/commonlib/region.h b/src/commonlib/include/commonlib/region.h index 4e32b09be0..634132a695 100644 --- a/src/commonlib/include/commonlib/region.h +++ b/src/commonlib/include/commonlib/region.h @@ -90,6 +90,11 @@ struct region_device { }, \ } +/* Helper to dynamically initialize region device. */ +void region_device_init(struct region_device *rdev, + const struct region_device_ops *ops, size_t offset, + size_t size); + static inline size_t region_offset(const struct region *r) { return r->offset; @@ -187,4 +192,10 @@ extern const struct region_device_ops xlate_rdev_ops; .rdev = REGION_DEV_INIT(&xlate_rdev_ops, 0, (parent_sz_)),\ } +/* Helper to dynamically initialize xlate region device. */ +void xlate_region_device_init(struct xlate_region_device *xdev, + const struct region_device *access_dev, + size_t sub_offset, size_t sub_size, + size_t parent_size); + #endif /* _REGION_H_ */ -- cgit v1.2.3