From 9a2b0540dc62ccc2a1a2d58727d1eec5466d1a0f Mon Sep 17 00:00:00 2001 From: Patrick Delaunay Date: Fri, 31 Jul 2020 16:31:52 +0200 Subject: [PATCH] arm: stm32mp: stm32prog: use IS_ENABLED to prevent ifdef Use IS_ENABLED to prevent ifdef in stm32prog command. Signed-off-by: Patrick Delaunay Reviewed-by: Patrice Chotard --- .../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++) { -- 2.39.5