arm: stm32mp: stm32prog: use IS_ENABLED to prevent ifdef

Use IS_ENABLED to prevent ifdef in stm32prog command.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
This commit is contained in:
Patrick Delaunay 2020-07-31 16:31:52 +02:00 committed by Patrice Chotard
parent 4e9e358fe8
commit 9a2b0540dc
2 changed files with 58 additions and 47 deletions

View file

@ -14,7 +14,6 @@ struct stm32prog_data *stm32prog_data;
static void enable_vidconsole(void) static void enable_vidconsole(void)
{ {
#ifdef CONFIG_DM_VIDEO
char *stdname; char *stdname;
char buf[64]; char buf[64];
@ -35,7 +34,6 @@ static void enable_vidconsole(void)
snprintf(buf, sizeof(buf), "%s,vidconsole", stdname); snprintf(buf, sizeof(buf), "%s,vidconsole", stdname);
env_set("stderr", buf); env_set("stderr", buf);
} }
#endif
} }
static int do_stm32prog(struct cmd_tbl *cmdtp, int flag, int argc, 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"); "script@1");
} }
enable_vidconsole(); if (IS_ENABLED(CONFIG_DM_VIDEO))
enable_vidconsole();
data = (struct stm32prog_data *)malloc(sizeof(*data)); data = (struct stm32prog_data *)malloc(sizeof(*data));

View file

@ -544,10 +544,8 @@ static int init_device(struct stm32prog_data *data,
{ {
struct mmc *mmc = NULL; struct mmc *mmc = NULL;
struct blk_desc *block_dev = NULL; struct blk_desc *block_dev = NULL;
#ifdef CONFIG_MTD
struct mtd_info *mtd = NULL; struct mtd_info *mtd = NULL;
char mtd_id[16]; char mtd_id[16];
#endif
int part_id; int part_id;
int ret; int ret;
u64 first_addr = 0, last_addr = 0; u64 first_addr = 0, last_addr = 0;
@ -557,8 +555,11 @@ static int init_device(struct stm32prog_data *data,
const char *part_name; const char *part_name;
switch (dev->target) { switch (dev->target) {
#ifdef CONFIG_MMC
case STM32PROG_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); mmc = find_mmc_device(dev->dev_id);
if (!mmc || mmc_init(mmc)) { if (!mmc || mmc_init(mmc)) {
stm32prog_err("mmc device %d not found", dev->dev_id); 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); first_addr, last_addr);
pr_debug(" full_update = %d\n", dev->full_update); pr_debug(" full_update = %d\n", dev->full_update);
break; break;
#endif
#ifdef CONFIG_MTD
case STM32PROG_NOR: case STM32PROG_NOR:
case STM32PROG_NAND: case STM32PROG_NAND:
case STM32PROG_SPI_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); get_mtd_by_target(mtd_id, dev->target, dev->dev_id);
pr_debug("%s\n", mtd_id); pr_debug("%s\n", mtd_id);
@ -612,7 +615,6 @@ static int init_device(struct stm32prog_data *data,
first_addr, last_addr); first_addr, last_addr);
dev->mtd = mtd; dev->mtd = mtd;
break; break;
#endif
case STM32PROG_RAM: case STM32PROG_RAM:
first_addr = gd->bd->bi_dram[0].start; first_addr = gd->bd->bi_dram[0].start;
last_addr = first_addr + gd->bd->bi_dram[0].size; 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; part_found = true;
} }
#ifdef CONFIG_MTD if (IS_ENABLED(CONFIG_MTD) && mtd) {
if (mtd) {
char mtd_part_id[32]; char mtd_part_id[32];
struct part_info *mtd_part; struct part_info *mtd_part;
struct mtd_device *mtd_dev; struct mtd_device *mtd_dev;
@ -766,7 +767,7 @@ static int init_device(struct stm32prog_data *data,
part_name = mtd_part->name; part_name = mtd_part->name;
part_found = true; part_found = true;
} }
#endif
if (!part_found) { if (!part_found) {
stm32prog_err("%s (0x%x): Invalid partition", stm32prog_err("%s (0x%x): Invalid partition",
part->name, part->id); part->name, part->id);
@ -873,9 +874,8 @@ static int treat_partition_list(struct stm32prog_data *data)
return 0; 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; int offset = 0;
const int buflen = SZ_8K; const int buflen = SZ_8K;
char *buf; char *buf;
@ -991,7 +991,6 @@ static int create_partitions(struct stm32prog_data *data)
run_command("mtd list", 0); run_command("mtd list", 0);
#endif #endif
free(buf); free(buf);
#endif
return 0; return 0;
} }
@ -1070,28 +1069,35 @@ static int stm32prog_alt_add(struct stm32prog_data *data,
offset += snprintf(buf + offset, ALT_BUF_LEN - offset, offset += snprintf(buf + offset, ALT_BUF_LEN - offset,
" %d;", part->part_id); " %d;", part->part_id);
} }
ret = -ENODEV;
switch (part->target) { switch (part->target) {
#ifdef CONFIG_MMC
case STM32PROG_MMC: case STM32PROG_MMC:
sprintf(dfustr, "mmc"); if (IS_ENABLED(CONFIG_MMC)) {
sprintf(devstr, "%d", part->dev_id); ret = 0;
sprintf(dfustr, "mmc");
sprintf(devstr, "%d", part->dev_id);
}
break; break;
#endif
#ifdef CONFIG_MTD
case STM32PROG_NAND: case STM32PROG_NAND:
case STM32PROG_NOR: case STM32PROG_NOR:
case STM32PROG_SPI_NAND: case STM32PROG_SPI_NAND:
sprintf(dfustr, "mtd"); if (IS_ENABLED(CONFIG_MTD)) {
get_mtd_by_target(devstr, part->target, part->dev_id); ret = 0;
sprintf(dfustr, "mtd");
get_mtd_by_target(devstr, part->target, part->dev_id);
}
break; break;
#endif
case STM32PROG_RAM: case STM32PROG_RAM:
ret = 0;
sprintf(dfustr, "ram"); sprintf(dfustr, "ram");
sprintf(devstr, "0"); sprintf(devstr, "0");
break; break;
default: default:
break;
}
if (ret) {
stm32prog_err("invalid target: %d", part->target); stm32prog_err("invalid target: %d", part->target);
return -ENODEV; return ret;
} }
pr_debug("dfu_alt_add(%s,%s,%s)\n", dfustr, devstr, buf); pr_debug("dfu_alt_add(%s,%s,%s)\n", dfustr, devstr, buf);
ret = dfu_alt_add(dfu, 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, int stm32prog_otp_read(struct stm32prog_data *data, u32 offset, u8 *buffer,
long *size) long *size)
{ {
#ifndef CONFIG_ARM_SMCCC
stm32prog_err("OTP update not supported");
return -1;
#else
int result = 0; 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); pr_debug("%s: %x %lx\n", __func__, offset, *size);
/* alway read for first packet */ /* alway read for first packet */
if (!offset) { if (!offset) {
@ -1255,19 +1262,19 @@ end_otp_read:
pr_debug("%s: result %i\n", __func__, result); pr_debug("%s: result %i\n", __func__, result);
return result; return result;
#endif
} }
int stm32prog_otp_start(struct stm32prog_data *data) int stm32prog_otp_start(struct stm32prog_data *data)
{ {
#ifndef CONFIG_ARM_SMCCC
stm32prog_err("OTP update not supported");
return -1;
#else
int result = 0; int result = 0;
struct arm_smccc_res res; struct arm_smccc_res res;
if (!IS_ENABLED(CONFIG_ARM_SMCCC)) {
stm32prog_err("OTP update not supported");
return -1;
}
if (!data->otp_part) { if (!data->otp_part) {
stm32prog_err("start OTP without data"); stm32prog_err("start OTP without data");
return -1; return -1;
@ -1302,7 +1309,6 @@ int stm32prog_otp_start(struct stm32prog_data *data)
pr_debug("%s: result %i\n", __func__, result); pr_debug("%s: result %i\n", __func__, result);
return result; return result;
#endif
} }
int stm32prog_pmic_write(struct stm32prog_data *data, u32 offset, u8 *buffer, 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) struct stm32prog_part_t *part)
{ {
int ret = 0; int ret = 0;
#ifdef CONFIG_MMC
unsigned long blks, blks_offset, blks_size; unsigned long blks, blks_offset, blks_size;
struct blk_desc *block_dev = NULL; struct blk_desc *block_dev = NULL;
#endif
#ifdef CONFIG_MTD
char cmdbuf[40]; char cmdbuf[40];
char devstr[10]; char devstr[10];
#endif
printf("Erasing %s ", part->name); printf("Erasing %s ", part->name);
switch (part->target) { switch (part->target) {
#ifdef CONFIG_MMC
case STM32PROG_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); printf("on mmc %d: ", part->dev->dev_id);
block_dev = mmc_get_blk_desc(part->dev->mmc); block_dev = mmc_get_blk_desc(part->dev->mmc);
blks_offset = lldiv(part->addr, part->dev->mmc->read_bl_len); 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); part->name, part->id);
} }
break; break;
#endif
#ifdef CONFIG_MTD
case STM32PROG_NOR: case STM32PROG_NOR:
case STM32PROG_NAND: case STM32PROG_NAND:
case STM32PROG_SPI_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); get_mtd_by_target(devstr, part->target, part->dev->dev_id);
printf("on %s: ", devstr); printf("on %s: ", devstr);
sprintf(cmdbuf, "mtd erase %s 0x%llx 0x%llx", 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); part->name, part->id, cmdbuf);
} }
break; break;
#endif
case STM32PROG_RAM: case STM32PROG_RAM:
printf("on ram: "); printf("on ram: ");
memset((void *)(uintptr_t)part->addr, 0, (size_t)part->size); 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; goto error;
} }
ret = create_partitions(data); if (IS_ENABLED(CONFIG_MMC)) {
if (ret) ret = create_gpt_partitions(data);
goto error; if (ret)
goto error;
}
/* delete partition GPT or MTD */ /* delete partition GPT or MTD */
for (i = 0; i < data->part_nb; i++) { for (i = 0; i < data->part_nb; i++) {