blk: blkmap: Add basic infrastructure
blkmaps are loosely modeled on Linux's device mapper subsystem. The basic idea is that you can create virtual block devices whose blocks can be backed by a plethora of sources that are user configurable. This change just adds the basic infrastructure for creating and removing blkmap devices. Subsequent changes will extend this to add support for actual mappings. Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:

committed by
Tom Rini

parent
3d2fc79714
commit
c41e209ea6
35
include/blkmap.h
Normal file
35
include/blkmap.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
/*
|
||||
* Copyright (c) 2023 Addiva Elektronik
|
||||
* Author: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
*/
|
||||
|
||||
#ifndef _BLKMAP_H
|
||||
#define _BLKMAP_H
|
||||
|
||||
/**
|
||||
* blkmap_from_label() - Find blkmap from label
|
||||
*
|
||||
* @label: Label of the requested blkmap
|
||||
* Returns: A pointer to the blkmap on success, NULL on failure
|
||||
*/
|
||||
struct udevice *blkmap_from_label(const char *label);
|
||||
|
||||
/**
|
||||
* blkmap_create() - Create new blkmap
|
||||
*
|
||||
* @label: Label of the new blkmap
|
||||
* @devp: If not NULL, updated with the address of the resulting device
|
||||
* Returns: 0 on success, negative error code on failure
|
||||
*/
|
||||
int blkmap_create(const char *label, struct udevice **devp);
|
||||
|
||||
/**
|
||||
* blkmap_destroy() - Destroy blkmap
|
||||
*
|
||||
* @dev: The blkmap to be destroyed
|
||||
* Returns: 0 on success, negative error code on failure
|
||||
*/
|
||||
int blkmap_destroy(struct udevice *dev);
|
||||
|
||||
#endif /* _BLKMAP_H */
|
Reference in New Issue
Block a user