forked from luck/tmp_suning_uos_patched
mtd: cmdlinepart: Add an slc option to use SLC mode on a part
Add a new option to set the MTD_SLC_ON_MLC_EMULATION flag. Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Link: https://lore.kernel.org/linux-mtd/20200503155341.16712-8-miquel.raynal@bootlin.com
This commit is contained in:
parent
1998053c8e
commit
568d841b68
|
@ -9,7 +9,7 @@
|
|||
*
|
||||
* mtdparts=<mtddef>[;<mtddef]
|
||||
* <mtddef> := <mtd-id>:<partdef>[,<partdef>]
|
||||
* <partdef> := <size>[@<offset>][<name>][ro][lk]
|
||||
* <partdef> := <size>[@<offset>][<name>][ro][lk][slc]
|
||||
* <mtd-id> := unique name used in mapping driver/device (mtd->name)
|
||||
* <size> := standard linux memsize OR "-" to denote all remaining space
|
||||
* size is automatically truncated at end of device
|
||||
|
@ -92,7 +92,7 @@ static struct mtd_partition * newpart(char *s,
|
|||
int name_len;
|
||||
unsigned char *extra_mem;
|
||||
char delim;
|
||||
unsigned int mask_flags;
|
||||
unsigned int mask_flags, add_flags;
|
||||
|
||||
/* fetch the partition size */
|
||||
if (*s == '-') {
|
||||
|
@ -109,6 +109,7 @@ static struct mtd_partition * newpart(char *s,
|
|||
|
||||
/* fetch partition name and flags */
|
||||
mask_flags = 0; /* this is going to be a regular partition */
|
||||
add_flags = 0;
|
||||
delim = 0;
|
||||
|
||||
/* check for offset */
|
||||
|
@ -152,6 +153,12 @@ static struct mtd_partition * newpart(char *s,
|
|||
s += 2;
|
||||
}
|
||||
|
||||
/* if slc is found use emulated SLC mode on this partition*/
|
||||
if (!strncmp(s, "slc", 3)) {
|
||||
add_flags |= MTD_SLC_ON_MLC_EMULATION;
|
||||
s += 3;
|
||||
}
|
||||
|
||||
/* test if more partitions are following */
|
||||
if (*s == ',') {
|
||||
if (size == SIZE_REMAINING) {
|
||||
|
@ -184,6 +191,7 @@ static struct mtd_partition * newpart(char *s,
|
|||
parts[this_part].size = size;
|
||||
parts[this_part].offset = offset;
|
||||
parts[this_part].mask_flags = mask_flags;
|
||||
parts[this_part].add_flags = add_flags;
|
||||
if (name)
|
||||
strlcpy(extra_mem, name, name_len + 1);
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue
Block a user