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(-) > > 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