1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * Parsing command line, get the partitions information. 4 * 5 * Written by Cai Zhiyong <caizhiyong@huawei.com> 6 * 7 */ 8#ifndef CMDLINEPARSEH 9#define CMDLINEPARSEH 10 11#include <linux/blkdev.h> 12#include <linux/fs.h> 13#include <linux/slab.h> 14 15/* partition flags */ 16#define PF_RDONLY 0x01 /* Device is read only */ 17#define PF_POWERUP_LOCK 0x02 /* Always locked after reset */ 18 19struct cmdline_subpart { 20 char name[BDEVNAME_SIZE]; /* partition name, such as 'rootfs' */ 21 sector_t from; 22 sector_t size; 23 int flags; 24 struct cmdline_subpart *next_subpart; 25}; 26 27struct cmdline_parts { 28 char name[BDEVNAME_SIZE]; /* block device, such as 'mmcblk0' */ 29 unsigned int nr_subparts; 30 struct cmdline_subpart *subpart; 31 struct cmdline_parts *next_parts; 32}; 33 34void cmdline_parts_free(struct cmdline_parts **parts); 35 36int cmdline_parts_parse(struct cmdline_parts **parts, const char *cmdline); 37 38struct cmdline_parts *cmdline_parts_find(struct cmdline_parts *parts, 39 const char *bdev); 40 41int cmdline_parts_set(struct cmdline_parts *parts, sector_t disk_size, 42 int slot, 43 int (*add_part)(int, struct cmdline_subpart *, void *), 44 void *param); 45 46#endif /* CMDLINEPARSEH */ 47