* [RFC PATCH] dfu: add DFU_SKIP layout concept [not found] <CGME20201102062402epcas1p4e4a7e14918f97a3d7989e24e9389f79b@epcas1p4.samsung.com> @ 2020-11-02 6:24 ` Jaehoon Chung 2020-11-02 9:55 ` Lukasz Majewski 0 siblings, 1 reply; 3+ messages in thread From: Jaehoon Chung @ 2020-11-02 6:24 UTC (permalink / raw) To: u-boot Add DFU_SKIP layout cencept. If layout is "skip", it will be skipped after nothing to do. It's useful to support multiple board with one tar file. Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> --- drivers/dfu/dfu.c | 2 +- drivers/dfu/dfu_mmc.c | 9 +++++++++ include/dfu.h | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c index a298c2c43999..f679f1fa5fe5 100644 --- a/drivers/dfu/dfu.c +++ b/drivers/dfu/dfu.c @@ -614,7 +614,7 @@ const char *dfu_get_dev_type(enum dfu_device_type t) const char *dfu_get_layout(enum dfu_layout l) { const char *const dfu_layout[] = {NULL, "RAW_ADDR", "FAT", "EXT2", - "EXT3", "EXT4", "RAM_ADDR" }; + "EXT3", "EXT4", "RAM_ADDR", "SKIP" }; return dfu_layout[l]; } diff --git a/drivers/dfu/dfu_mmc.c b/drivers/dfu/dfu_mmc.c index 691d01c7ebdf..c7c324b0a986 100644 --- a/drivers/dfu/dfu_mmc.c +++ b/drivers/dfu/dfu_mmc.c @@ -108,6 +108,8 @@ static int mmc_file_op(enum dfu_op op, struct dfu_entity *dfu, case DFU_FS_EXT4: fstype = FS_TYPE_EXT; break; + case DFU_SKIP: + return 0; default: printf("%s: Layout (%s) not (yet) supported!\n", __func__, dfu_get_layout(dfu->layout)); @@ -204,6 +206,9 @@ int dfu_write_medium_mmc(struct dfu_entity *dfu, case DFU_FS_EXT4: ret = mmc_file_buf_write(dfu, offset, buf, len); break; + case DFU_SKIP: + ret = 0; + break; default: printf("%s: Layout (%s) not (yet) supported!\n", __func__, dfu_get_layout(dfu->layout)); @@ -238,6 +243,8 @@ int dfu_get_medium_size_mmc(struct dfu_entity *dfu, u64 *size) if (ret < 0) return ret; return 0; + case DFU_SKIP: + return 0; default: printf("%s: Layout (%s) not (yet) supported!\n", __func__, dfu_get_layout(dfu->layout)); @@ -399,6 +406,8 @@ int dfu_fill_entity_mmc(struct dfu_entity *dfu, char *devstr, char *s) dfu->layout = DFU_FS_FAT; } else if (!strcmp(entity_type, "ext4")) { dfu->layout = DFU_FS_EXT4; + } else if (!strcmp(entity_type, "skip")) { + dfu->layout = DFU_SKIP; } else { pr_err("Memory layout (%s) not supported!\n", entity_type); return -ENODEV; diff --git a/include/dfu.h b/include/dfu.h index 84abdc79acd1..2e8276c69c9f 100644 --- a/include/dfu.h +++ b/include/dfu.h @@ -33,6 +33,7 @@ enum dfu_layout { DFU_FS_EXT3, DFU_FS_EXT4, DFU_RAM_ADDR, + DFU_SKIP, }; enum dfu_op { -- 2.29.0 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* [RFC PATCH] dfu: add DFU_SKIP layout concept 2020-11-02 6:24 ` [RFC PATCH] dfu: add DFU_SKIP layout concept Jaehoon Chung @ 2020-11-02 9:55 ` Lukasz Majewski 2020-11-02 21:54 ` Jaehoon Chung 0 siblings, 1 reply; 3+ messages in thread From: Lukasz Majewski @ 2020-11-02 9:55 UTC (permalink / raw) To: u-boot Hi Jaehoon, > Add DFU_SKIP layout cencept. > If layout is "skip", it will be skipped after nothing to do. > It's useful to support multiple board with one tar file. > > Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> > --- > drivers/dfu/dfu.c | 2 +- > drivers/dfu/dfu_mmc.c | 9 +++++++++ > include/dfu.h | 1 + > 3 files changed, 11 insertions(+), 1 deletion(-) > > diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c > index a298c2c43999..f679f1fa5fe5 100644 > --- a/drivers/dfu/dfu.c > +++ b/drivers/dfu/dfu.c > @@ -614,7 +614,7 @@ const char *dfu_get_dev_type(enum dfu_device_type > t) const char *dfu_get_layout(enum dfu_layout l) > { > const char *const dfu_layout[] = {NULL, "RAW_ADDR", "FAT", > "EXT2", > - "EXT3", "EXT4", "RAM_ADDR" > }; > + "EXT3", "EXT4", > "RAM_ADDR", "SKIP" }; return dfu_layout[l]; > } > > diff --git a/drivers/dfu/dfu_mmc.c b/drivers/dfu/dfu_mmc.c > index 691d01c7ebdf..c7c324b0a986 100644 > --- a/drivers/dfu/dfu_mmc.c > +++ b/drivers/dfu/dfu_mmc.c > @@ -108,6 +108,8 @@ static int mmc_file_op(enum dfu_op op, struct > dfu_entity *dfu, case DFU_FS_EXT4: > fstype = FS_TYPE_EXT; > break; > + case DFU_SKIP: > + return 0; > default: > printf("%s: Layout (%s) not (yet) supported!\n", > __func__, dfu_get_layout(dfu->layout)); > @@ -204,6 +206,9 @@ int dfu_write_medium_mmc(struct dfu_entity *dfu, > case DFU_FS_EXT4: > ret = mmc_file_buf_write(dfu, offset, buf, len); > break; > + case DFU_SKIP: > + ret = 0; > + break; > default: > printf("%s: Layout (%s) not (yet) supported!\n", > __func__, dfu_get_layout(dfu->layout)); > @@ -238,6 +243,8 @@ int dfu_get_medium_size_mmc(struct dfu_entity > *dfu, u64 *size) if (ret < 0) > return ret; > return 0; > + case DFU_SKIP: > + return 0; > default: > printf("%s: Layout (%s) not (yet) supported!\n", > __func__, dfu_get_layout(dfu->layout)); > @@ -399,6 +406,8 @@ int dfu_fill_entity_mmc(struct dfu_entity *dfu, > char *devstr, char *s) dfu->layout = DFU_FS_FAT; > } else if (!strcmp(entity_type, "ext4")) { > dfu->layout = DFU_FS_EXT4; > + } else if (!strcmp(entity_type, "skip")) { > + dfu->layout = DFU_SKIP; > } else { > pr_err("Memory layout (%s) not supported!\n", > entity_type); return -ENODEV; > diff --git a/include/dfu.h b/include/dfu.h > index 84abdc79acd1..2e8276c69c9f 100644 > --- a/include/dfu.h > +++ b/include/dfu.h > @@ -33,6 +33,7 @@ enum dfu_layout { > DFU_FS_EXT3, > DFU_FS_EXT4, > DFU_RAM_ADDR, > + DFU_SKIP, > }; > > enum dfu_op { Fine for me. Please add a verbose description to doc/DFU.readme with some examples (i.e. which target board and how you plan to use this feature). Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: <https://lists.denx.de/pipermail/u-boot/attachments/20201102/e5473651/attachment.sig> ^ permalink raw reply [flat|nested] 3+ messages in thread
* [RFC PATCH] dfu: add DFU_SKIP layout concept 2020-11-02 9:55 ` Lukasz Majewski @ 2020-11-02 21:54 ` Jaehoon Chung 0 siblings, 0 replies; 3+ messages in thread From: Jaehoon Chung @ 2020-11-02 21:54 UTC (permalink / raw) To: u-boot Hi Lukasz, On 11/2/20 6:55 PM, Lukasz Majewski wrote: > Hi Jaehoon, > >> Add DFU_SKIP layout cencept. >> If layout is "skip", it will be skipped after nothing to do. >> It's useful to support multiple board with one tar file. >> >> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> >> --- >> drivers/dfu/dfu.c | 2 +- >> drivers/dfu/dfu_mmc.c | 9 +++++++++ >> include/dfu.h | 1 + >> 3 files changed, 11 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c >> index a298c2c43999..f679f1fa5fe5 100644 >> --- a/drivers/dfu/dfu.c >> +++ b/drivers/dfu/dfu.c >> @@ -614,7 +614,7 @@ const char *dfu_get_dev_type(enum dfu_device_type >> t) const char *dfu_get_layout(enum dfu_layout l) >> { >> const char *const dfu_layout[] = {NULL, "RAW_ADDR", "FAT", >> "EXT2", >> - "EXT3", "EXT4", "RAM_ADDR" >> }; >> + "EXT3", "EXT4", >> "RAM_ADDR", "SKIP" }; return dfu_layout[l]; >> } >> >> diff --git a/drivers/dfu/dfu_mmc.c b/drivers/dfu/dfu_mmc.c >> index 691d01c7ebdf..c7c324b0a986 100644 >> --- a/drivers/dfu/dfu_mmc.c >> +++ b/drivers/dfu/dfu_mmc.c >> @@ -108,6 +108,8 @@ static int mmc_file_op(enum dfu_op op, struct >> dfu_entity *dfu, case DFU_FS_EXT4: >> fstype = FS_TYPE_EXT; >> break; >> + case DFU_SKIP: >> + return 0; >> default: >> printf("%s: Layout (%s) not (yet) supported!\n", >> __func__, dfu_get_layout(dfu->layout)); >> @@ -204,6 +206,9 @@ int dfu_write_medium_mmc(struct dfu_entity *dfu, >> case DFU_FS_EXT4: >> ret = mmc_file_buf_write(dfu, offset, buf, len); >> break; >> + case DFU_SKIP: >> + ret = 0; >> + break; >> default: >> printf("%s: Layout (%s) not (yet) supported!\n", >> __func__, dfu_get_layout(dfu->layout)); >> @@ -238,6 +243,8 @@ int dfu_get_medium_size_mmc(struct dfu_entity >> *dfu, u64 *size) if (ret < 0) >> return ret; >> return 0; >> + case DFU_SKIP: >> + return 0; >> default: >> printf("%s: Layout (%s) not (yet) supported!\n", >> __func__, dfu_get_layout(dfu->layout)); >> @@ -399,6 +406,8 @@ int dfu_fill_entity_mmc(struct dfu_entity *dfu, >> char *devstr, char *s) dfu->layout = DFU_FS_FAT; >> } else if (!strcmp(entity_type, "ext4")) { >> dfu->layout = DFU_FS_EXT4; >> + } else if (!strcmp(entity_type, "skip")) { >> + dfu->layout = DFU_SKIP; >> } else { >> pr_err("Memory layout (%s) not supported!\n", >> entity_type); return -ENODEV; >> diff --git a/include/dfu.h b/include/dfu.h >> index 84abdc79acd1..2e8276c69c9f 100644 >> --- a/include/dfu.h >> +++ b/include/dfu.h >> @@ -33,6 +33,7 @@ enum dfu_layout { >> DFU_FS_EXT3, >> DFU_FS_EXT4, >> DFU_RAM_ADDR, >> + DFU_SKIP, >> }; >> >> enum dfu_op { > > Fine for me. Please add a verbose description to doc/DFU.readme with > some examples (i.e. which target board and how you plan to use this > feature). Thanks for reviewing. I will resend the patch. I have tested with only thor protocol. Best Regards, Jaehoon Chung > > > Best regards, > > Lukasz Majewski > > -- > > DENX Software Engineering GmbH, Managing Director: Wolfgang Denk > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany > Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de > ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-11-02 21:54 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CGME20201102062402epcas1p4e4a7e14918f97a3d7989e24e9389f79b@epcas1p4.samsung.com>
2020-11-02 6:24 ` [RFC PATCH] dfu: add DFU_SKIP layout concept Jaehoon Chung
2020-11-02 9:55 ` Lukasz Majewski
2020-11-02 21:54 ` Jaehoon Chung
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox