On 8/13/20 9:25 AM, Patrice CHOTARD wrote: > Hi Patrick > > On 7/31/20 4:31 PM, Patrick Delaunay wrote: >> Use IS_ENABLED to prevent ifdef in stm32prog command. >> >> Signed-off-by: Patrick Delaunay <patrick.delau...@st.com> >> --- >> >> .../cmd_stm32prog/cmd_stm32prog.c | 5 +- >> .../mach-stm32mp/cmd_stm32prog/stm32prog.c | 100 ++++++++++-------- >> 2 files changed, 58 insertions(+), 47 deletions(-)
Applied on u-boot-stm/master Thanks >> >> diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/cmd_stm32prog.c >> b/arch/arm/mach-stm32mp/cmd_stm32prog/cmd_stm32prog.c >> index cbf0120adc..49dd25b28f 100644 >> --- a/arch/arm/mach-stm32mp/cmd_stm32prog/cmd_stm32prog.c >> +++ b/arch/arm/mach-stm32mp/cmd_stm32prog/cmd_stm32prog.c >> @@ -14,7 +14,6 @@ struct stm32prog_data *stm32prog_data; >> >> static void enable_vidconsole(void) >> { >> -#ifdef CONFIG_DM_VIDEO >> char *stdname; >> char buf[64]; >> >> @@ -35,7 +34,6 @@ static void enable_vidconsole(void) >> snprintf(buf, sizeof(buf), "%s,vidconsole", stdname); >> env_set("stderr", buf); >> } >> -#endif >> } >> >> static int do_stm32prog(struct cmd_tbl *cmdtp, int flag, int argc, >> @@ -86,7 +84,8 @@ static int do_stm32prog(struct cmd_tbl *cmdtp, int flag, >> int argc, >> "script@1"); >> } >> >> - enable_vidconsole(); >> + if (IS_ENABLED(CONFIG_DM_VIDEO)) >> + enable_vidconsole(); >> >> data = (struct stm32prog_data *)malloc(sizeof(*data)); >> >> diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c >> b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c >> index e4199dbaa5..ec3355d816 100644 >> --- a/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c >> +++ b/arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c >> @@ -544,10 +544,8 @@ static int init_device(struct stm32prog_data *data, >> { >> struct mmc *mmc = NULL; >> struct blk_desc *block_dev = NULL; >> -#ifdef CONFIG_MTD >> struct mtd_info *mtd = NULL; >> char mtd_id[16]; >> -#endif >> int part_id; >> int ret; >> u64 first_addr = 0, last_addr = 0; >> @@ -557,8 +555,11 @@ static int init_device(struct stm32prog_data *data, >> const char *part_name; >> >> switch (dev->target) { >> -#ifdef CONFIG_MMC >> case STM32PROG_MMC: >> + if (!IS_ENABLED(CONFIG_MMC)) { >> + stm32prog_err("unknown device type = %d", dev->target); >> + return -ENODEV; >> + } >> mmc = find_mmc_device(dev->dev_id); >> if (!mmc || mmc_init(mmc)) { >> stm32prog_err("mmc device %d not found", dev->dev_id); >> @@ -589,11 +590,13 @@ static int init_device(struct stm32prog_data *data, >> first_addr, last_addr); >> pr_debug(" full_update = %d\n", dev->full_update); >> break; >> -#endif >> -#ifdef CONFIG_MTD >> case STM32PROG_NOR: >> case STM32PROG_NAND: >> case STM32PROG_SPI_NAND: >> + if (!IS_ENABLED(CONFIG_MTD)) { >> + stm32prog_err("unknown device type = %d", dev->target); >> + return -ENODEV; >> + } >> get_mtd_by_target(mtd_id, dev->target, dev->dev_id); >> pr_debug("%s\n", mtd_id); >> >> @@ -612,7 +615,6 @@ static int init_device(struct stm32prog_data *data, >> first_addr, last_addr); >> dev->mtd = mtd; >> break; >> -#endif >> case STM32PROG_RAM: >> first_addr = gd->bd->bi_dram[0].start; >> last_addr = first_addr + gd->bd->bi_dram[0].size; >> @@ -744,8 +746,7 @@ static int init_device(struct stm32prog_data *data, >> part_found = true; >> } >> >> -#ifdef CONFIG_MTD >> - if (mtd) { >> + if (IS_ENABLED(CONFIG_MTD) && mtd) { >> char mtd_part_id[32]; >> struct part_info *mtd_part; >> struct mtd_device *mtd_dev; >> @@ -766,7 +767,7 @@ static int init_device(struct stm32prog_data *data, >> part_name = mtd_part->name; >> part_found = true; >> } >> -#endif >> + >> if (!part_found) { >> stm32prog_err("%s (0x%x): Invalid partition", >> part->name, part->id); >> @@ -873,9 +874,8 @@ static int treat_partition_list(struct stm32prog_data >> *data) >> return 0; >> } >> >> -static int create_partitions(struct stm32prog_data *data) >> +static int create_gpt_partitions(struct stm32prog_data *data) >> { >> -#ifdef CONFIG_MMC >> int offset = 0; >> const int buflen = SZ_8K; >> char *buf; >> @@ -991,7 +991,6 @@ static int create_partitions(struct stm32prog_data *data) >> run_command("mtd list", 0); >> #endif >> free(buf); >> -#endif >> >> return 0; >> } >> @@ -1070,28 +1069,35 @@ static int stm32prog_alt_add(struct stm32prog_data >> *data, >> offset += snprintf(buf + offset, ALT_BUF_LEN - offset, >> " %d;", part->part_id); >> } >> + ret = -ENODEV; >> switch (part->target) { >> -#ifdef CONFIG_MMC >> case STM32PROG_MMC: >> - sprintf(dfustr, "mmc"); >> - sprintf(devstr, "%d", part->dev_id); >> + if (IS_ENABLED(CONFIG_MMC)) { >> + ret = 0; >> + sprintf(dfustr, "mmc"); >> + sprintf(devstr, "%d", part->dev_id); >> + } >> break; >> -#endif >> -#ifdef CONFIG_MTD >> case STM32PROG_NAND: >> case STM32PROG_NOR: >> case STM32PROG_SPI_NAND: >> - sprintf(dfustr, "mtd"); >> - get_mtd_by_target(devstr, part->target, part->dev_id); >> + if (IS_ENABLED(CONFIG_MTD)) { >> + ret = 0; >> + sprintf(dfustr, "mtd"); >> + get_mtd_by_target(devstr, part->target, part->dev_id); >> + } >> break; >> -#endif >> case STM32PROG_RAM: >> + ret = 0; >> sprintf(dfustr, "ram"); >> sprintf(devstr, "0"); >> break; >> default: >> + break; >> + } >> + if (ret) { >> stm32prog_err("invalid target: %d", part->target); >> - return -ENODEV; >> + return ret; >> } >> pr_debug("dfu_alt_add(%s,%s,%s)\n", dfustr, devstr, buf); >> ret = dfu_alt_add(dfu, dfustr, devstr, buf); >> @@ -1213,13 +1219,14 @@ int stm32prog_otp_write(struct stm32prog_data *data, >> u32 offset, u8 *buffer, >> int stm32prog_otp_read(struct stm32prog_data *data, u32 offset, u8 *buffer, >> long *size) >> { >> -#ifndef CONFIG_ARM_SMCCC >> - stm32prog_err("OTP update not supported"); >> - >> - return -1; >> -#else >> int result = 0; >> >> + if (!IS_ENABLED(CONFIG_ARM_SMCCC)) { >> + stm32prog_err("OTP update not supported"); >> + >> + return -1; >> + } >> + >> pr_debug("%s: %x %lx\n", __func__, offset, *size); >> /* alway read for first packet */ >> if (!offset) { >> @@ -1255,19 +1262,19 @@ end_otp_read: >> pr_debug("%s: result %i\n", __func__, result); >> >> return result; >> -#endif >> } >> >> int stm32prog_otp_start(struct stm32prog_data *data) >> { >> -#ifndef CONFIG_ARM_SMCCC >> - stm32prog_err("OTP update not supported"); >> - >> - return -1; >> -#else >> int result = 0; >> struct arm_smccc_res res; >> >> + if (!IS_ENABLED(CONFIG_ARM_SMCCC)) { >> + stm32prog_err("OTP update not supported"); >> + >> + return -1; >> + } >> + >> if (!data->otp_part) { >> stm32prog_err("start OTP without data"); >> return -1; >> @@ -1302,7 +1309,6 @@ int stm32prog_otp_start(struct stm32prog_data *data) >> pr_debug("%s: result %i\n", __func__, result); >> >> return result; >> -#endif >> } >> >> int stm32prog_pmic_write(struct stm32prog_data *data, u32 offset, u8 >> *buffer, >> @@ -1538,19 +1544,20 @@ static int part_delete(struct stm32prog_data *data, >> struct stm32prog_part_t *part) >> { >> int ret = 0; >> -#ifdef CONFIG_MMC >> unsigned long blks, blks_offset, blks_size; >> struct blk_desc *block_dev = NULL; >> - #endif >> -#ifdef CONFIG_MTD >> char cmdbuf[40]; >> char devstr[10]; >> -#endif >> >> printf("Erasing %s ", part->name); >> switch (part->target) { >> -#ifdef CONFIG_MMC >> case STM32PROG_MMC: >> + if (!IS_ENABLED(CONFIG_MMC)) { >> + ret = -1; >> + stm32prog_err("%s (0x%x): erase invalid", >> + part->name, part->id); >> + break; >> + } >> printf("on mmc %d: ", part->dev->dev_id); >> block_dev = mmc_get_blk_desc(part->dev->mmc); >> blks_offset = lldiv(part->addr, part->dev->mmc->read_bl_len); >> @@ -1576,11 +1583,15 @@ static int part_delete(struct stm32prog_data *data, >> part->name, part->id); >> } >> break; >> -#endif >> -#ifdef CONFIG_MTD >> case STM32PROG_NOR: >> case STM32PROG_NAND: >> case STM32PROG_SPI_NAND: >> + if (!IS_ENABLED(CONFIG_MTD)) { >> + ret = -1; >> + stm32prog_err("%s (0x%x): erase invalid", >> + part->name, part->id); >> + break; >> + } >> get_mtd_by_target(devstr, part->target, part->dev->dev_id); >> printf("on %s: ", devstr); >> sprintf(cmdbuf, "mtd erase %s 0x%llx 0x%llx", >> @@ -1591,7 +1602,6 @@ static int part_delete(struct stm32prog_data *data, >> part->name, part->id, cmdbuf); >> } >> break; >> -#endif >> case STM32PROG_RAM: >> printf("on ram: "); >> memset((void *)(uintptr_t)part->addr, 0, (size_t)part->size); >> @@ -1639,9 +1649,11 @@ static void stm32prog_devices_init(struct >> stm32prog_data *data) >> goto error; >> } >> >> - ret = create_partitions(data); >> - if (ret) >> - goto error; >> + if (IS_ENABLED(CONFIG_MMC)) { >> + ret = create_gpt_partitions(data); >> + if (ret) >> + goto error; >> + } >> >> /* delete partition GPT or MTD */ >> for (i = 0; i < data->part_nb; i++) { > Reviewed-by: Patrice Chotard <patrice.chot...@st.com> > > Thanks > > Patrice > _______________________________________________ > Uboot-stm32 mailing list > uboot-st...@st-md-mailman.stormreply.com > https://st-md-mailman.stormreply.com/mailman/listinfo/uboot-stm32