Add information about the type of blkmap slice as an attribute in the
corresponding slice structure. Put information in the blkmap slice
structure to identify if it is associated with a memory or linear
mapped device. Which can then be used to take specific action based on
the type of the blkmap slice.

Signed-off-by: Sughosh Ganu <sughosh.g...@linaro.org>
Reviewed-by: Tobias Waldekranz <tob...@waldekranz.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodi...@linaro.org>
---
Changes since V6: None

 drivers/block/blkmap.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/block/blkmap.c b/drivers/block/blkmap.c
index 34eed1380dc..453510cca62 100644
--- a/drivers/block/blkmap.c
+++ b/drivers/block/blkmap.c
@@ -16,6 +16,10 @@
 
 struct blkmap;
 
+/* Attributes of blkmap slice */
+#define BLKMAP_SLICE_LINEAR    BIT(0)
+#define BLKMAP_SLICE_MEM       BIT(1)
+
 /**
  * struct blkmap_slice - Region mapped to a blkmap
  *
@@ -25,12 +29,14 @@ struct blkmap;
  * @node: List node used to associate this slice with a blkmap
  * @blknr: Start block number of the mapping
  * @blkcnt: Number of blocks covered by this mapping
+ * @attr: Attributes of blkmap slice
  */
 struct blkmap_slice {
        struct list_head node;
 
        lbaint_t blknr;
        lbaint_t blkcnt;
+       uint     attr;
 
        /**
         * @read: - Read from slice
@@ -169,6 +175,7 @@ int blkmap_map_linear(struct udevice *dev, lbaint_t blknr, 
lbaint_t blkcnt,
                .slice = {
                        .blknr = blknr,
                        .blkcnt = blkcnt,
+                       .attr = BLKMAP_SLICE_LINEAR,
 
                        .read = blkmap_linear_read,
                        .write = blkmap_linear_write,
@@ -248,6 +255,7 @@ int __blkmap_map_mem(struct udevice *dev, lbaint_t blknr, 
lbaint_t blkcnt,
                .slice = {
                        .blknr = blknr,
                        .blkcnt = blkcnt,
+                       .attr = BLKMAP_SLICE_MEM,
 
                        .read = blkmap_mem_read,
                        .write = blkmap_mem_write,
-- 
2.34.1

Reply via email to