mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 10:39:08 +00:00
mtd: mtdpart: add a generic mtdparts-like parser
The current parser is very specific to U-Boot mtdparts implementation. It does not use MTD structures like mtd_info and mtd_partition. Copy and adapt the current parser in drivers/mtd/mtd-uclass.c (to not break the current use of mtdparts.c itself) and write some kind of a wrapper around the current implementation to allow other commands to benefit from this parsing in a user-friendly way. This new function will allocate an mtd_partition array for each successful call. This array must be freed after use by the caller. The given 'mtdparts' buffer pointer will be moved forward to the next MTD device (if any, it will point towards a '\0' character otherwise). Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Acked-by: Jagan Teki <jagan@openedev.com> Reviewed-by: Stefan Roese <sr@denx.de> Reviewed-by: Boris Brezillon <boris.brezillon@bootlin.com>
This commit is contained in:
parent
e9f62db64b
commit
21cc1fb5af
2 changed files with 231 additions and 0 deletions
|
@ -87,4 +87,25 @@ int mtd_add_partition(struct mtd_info *master, const char *name,
|
|||
int mtd_del_partition(struct mtd_info *master, int partno);
|
||||
uint64_t mtd_get_device_size(const struct mtd_info *mtd);
|
||||
|
||||
#if defined(CONFIG_MTD_PARTITIONS)
|
||||
int mtd_parse_partitions(struct mtd_info *parent, const char **_mtdparts,
|
||||
struct mtd_partition **_parts, int *_nparts);
|
||||
void mtd_free_parsed_partitions(struct mtd_partition *parts,
|
||||
unsigned int nparts);
|
||||
#else
|
||||
static inline int
|
||||
mtd_parse_partitions(struct mtd_info *parent, const char **_mtdparts,
|
||||
struct mtd_partition **_parts, int *_nparts)
|
||||
{
|
||||
*_nparts = 0;
|
||||
|
||||
return 0;
|
||||
}
|
||||
static inline void
|
||||
mtd_free_parsed_partitions(struct mtd_partition *parts, unsigned int nparts)
|
||||
{
|
||||
return;
|
||||
}
|
||||
#endif /* defined(MTD_PARTITIONS) */
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue