[PATCH 11/11] arm: stm32mp: stm32prog: use IS_ENABLED to prevent ifdef

Patrick Delaunay patrick.delaunay at st.com
Fri Jul 31 16:31:52 CEST 2020


Use IS_ENABLED to prevent ifdef in stm32prog command.

Signed-off-by: Patrick Delaunay <patrick.delaunay at 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 at 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.17.1



More information about the U-Boot mailing list