[PATCH v8 6/8] blkmap: store type of blkmap slice in corresponding structure
Heinrich Schuchardt
heinrich.schuchardt at canonical.com
Wed Mar 12 21:57:44 CET 2025
On 12.03.25 09:54, Sughosh Ganu wrote:
> Add information about the type of blkmap slice as an attribute in the
%s/blkmap slice/blkmap slices/
> 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.ganu at linaro.org>
> Reviewed-by: Tobias Waldekranz <tobias at waldekranz.com>
> Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
> ---
> Changes since V7: 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 */
Please, provide a description of the constants in Sphinx style
explaining what linear and and memory slices are.
Cf.
https://docs.kernel.org/doc-guide/kernel-doc.html#object-like-macro-documentation
Best regards
Heinrich
> +#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,
More information about the U-Boot
mailing list