[Uboot-stm32] [PATCH 10/11] arm: stm32mp: bsec: use IS_ENABLED to prevent ifdef
Patrice CHOTARD
patrice.chotard at st.com
Thu Aug 13 11:54:39 CEST 2020
On 8/13/20 9:24 AM, Patrice CHOTARD wrote:
> Hi Patrick
>
> On 7/31/20 4:31 PM, Patrick Delaunay wrote:
>> Use IS_ENABLED to prevent ifdef in bsec driver.
>>
>> Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com>
>> ---
>>
>> arch/arm/mach-stm32mp/bsec.c | 86 +++++++++++++++++++-----------------
>> 1 file changed, 46 insertions(+), 40 deletions(-)
Applied on u-boot-stm/master
Thanks
>>
>> diff --git a/arch/arm/mach-stm32mp/bsec.c b/arch/arm/mach-stm32mp/bsec.c
>> index 0c56b440f5..a9b9bd0902 100644
>> --- a/arch/arm/mach-stm32mp/bsec.c
>> +++ b/arch/arm/mach-stm32mp/bsec.c
>> @@ -74,7 +74,6 @@ static bool bsec_read_lock(u32 address, u32 otp)
>> return !!(readl(address + bank) & bit);
>> }
>>
>> -#ifndef CONFIG_TFABOOT
>> /**
>> * bsec_check_error() - Check status of one otp
>> * @base: base address of bsec IP
>> @@ -279,7 +278,6 @@ static int bsec_program_otp(long base, u32 val, u32 otp)
>>
>> return ret;
>> }
>> -#endif /* CONFIG_TFABOOT */
>>
>> /* BSEC MISC driver *******************************************************/
>> struct stm32mp_bsec_platdata {
>> @@ -288,15 +286,17 @@ struct stm32mp_bsec_platdata {
>>
>> static int stm32mp_bsec_read_otp(struct udevice *dev, u32 *val, u32 otp)
>> {
>> -#ifdef CONFIG_TFABOOT
>> - return stm32_smc(STM32_SMC_BSEC,
>> - STM32_SMC_READ_OTP,
>> - otp, 0, val);
>> -#else
>> - struct stm32mp_bsec_platdata *plat = dev_get_platdata(dev);
>> + struct stm32mp_bsec_platdata *plat;
>> u32 tmp_data = 0;
>> int ret;
>>
>> + if (IS_ENABLED(CONFIG_TFABOOT))
>> + return stm32_smc(STM32_SMC_BSEC,
>> + STM32_SMC_READ_OTP,
>> + otp, 0, val);
>> +
>> + plat = dev_get_platdata(dev);
>> +
>> /* read current shadow value */
>> ret = bsec_read_shadow(plat->base, &tmp_data, otp);
>> if (ret)
>> @@ -313,21 +313,22 @@ static int stm32mp_bsec_read_otp(struct udevice *dev, u32 *val, u32 otp)
>>
>> /* restore shadow value */
>> ret = bsec_write_shadow(plat->base, tmp_data, otp);
>> +
>> return ret;
>> -#endif
>> }
>>
>> static int stm32mp_bsec_read_shadow(struct udevice *dev, u32 *val, u32 otp)
>> {
>> -#ifdef CONFIG_TFABOOT
>> - return stm32_smc(STM32_SMC_BSEC,
>> - STM32_SMC_READ_SHADOW,
>> - otp, 0, val);
>> -#else
>> - struct stm32mp_bsec_platdata *plat = dev_get_platdata(dev);
>> + struct stm32mp_bsec_platdata *plat;
>> +
>> + if (IS_ENABLED(CONFIG_TFABOOT))
>> + return stm32_smc(STM32_SMC_BSEC,
>> + STM32_SMC_READ_SHADOW,
>> + otp, 0, val);
>> +
>> + plat = dev_get_platdata(dev);
>>
>> return bsec_read_shadow(plat->base, val, otp);
>> -#endif
>> }
>>
>> static int stm32mp_bsec_read_lock(struct udevice *dev, u32 *val, u32 otp)
>> @@ -342,33 +343,38 @@ static int stm32mp_bsec_read_lock(struct udevice *dev, u32 *val, u32 otp)
>>
>> static int stm32mp_bsec_write_otp(struct udevice *dev, u32 val, u32 otp)
>> {
>> -#ifdef CONFIG_TFABOOT
>> - return stm32_smc_exec(STM32_SMC_BSEC,
>> - STM32_SMC_PROG_OTP,
>> - otp, val);
>> -#else
>> - struct stm32mp_bsec_platdata *plat = dev_get_platdata(dev);
>> + struct stm32mp_bsec_platdata *plat;
>> +
>> + if (IS_ENABLED(CONFIG_TFABOOT))
>> + return stm32_smc_exec(STM32_SMC_BSEC,
>> + STM32_SMC_PROG_OTP,
>> + otp, val);
>> +
>> + plat = dev_get_platdata(dev);
>>
>> return bsec_program_otp(plat->base, val, otp);
>> -#endif
>> +
>> }
>>
>> static int stm32mp_bsec_write_shadow(struct udevice *dev, u32 val, u32 otp)
>> {
>> -#ifdef CONFIG_TFABOOT
>> - return stm32_smc_exec(STM32_SMC_BSEC,
>> - STM32_SMC_WRITE_SHADOW,
>> - otp, val);
>> -#else
>> - struct stm32mp_bsec_platdata *plat = dev_get_platdata(dev);
>> + struct stm32mp_bsec_platdata *plat;
>> +
>> + if (IS_ENABLED(CONFIG_TFABOOT))
>> + return stm32_smc_exec(STM32_SMC_BSEC,
>> + STM32_SMC_WRITE_SHADOW,
>> + otp, val);
>> +
>> + plat = dev_get_platdata(dev);
>>
>> return bsec_write_shadow(plat->base, val, otp);
>> -#endif
>> }
>>
>> static int stm32mp_bsec_write_lock(struct udevice *dev, u32 val, u32 otp)
>> {
>> -#ifdef CONFIG_TFABOOT
>> + if (!IS_ENABLED(CONFIG_TFABOOT))
>> + return -ENOTSUPP;
>> +
>> if (val == 1)
>> return stm32_smc_exec(STM32_SMC_BSEC,
>> STM32_SMC_WRLOCK_OTP,
>> @@ -377,9 +383,6 @@ static int stm32mp_bsec_write_lock(struct udevice *dev, u32 val, u32 otp)
>> return 0; /* nothing to do */
>>
>> return -EINVAL;
>> -#else
>> - return -ENOTSUPP;
>> -#endif
>> }
>>
>> static int stm32mp_bsec_read(struct udevice *dev, int offset,
>> @@ -481,18 +484,21 @@ static int stm32mp_bsec_ofdata_to_platdata(struct udevice *dev)
>>
>> static int stm32mp_bsec_probe(struct udevice *dev)
>> {
>> -#if !defined(CONFIG_TFABOOT) && !defined(CONFIG_SPL_BUILD)
>> int otp;
>> - struct stm32mp_bsec_platdata *plat = dev_get_platdata(dev);
>> + struct stm32mp_bsec_platdata *plat;
>>
>> /*
>> * update unlocked shadow for OTP cleared by the rom code
>> * only executed in U-Boot proper when TF-A is not used
>> */
>> - for (otp = 57; otp <= BSEC_OTP_MAX_VALUE; otp++)
>> - if (!bsec_read_SR_lock(plat->base, otp))
>> - bsec_shadow_register(plat->base, otp);
>> -#endif
>> +
>> + if (!IS_ENABLED(CONFIG_TFABOOT) && !IS_ENABLED(CONFIG_SPL_BUILD)) {
>> + plat = dev_get_platdata(dev);
>> +
>> + for (otp = 57; otp <= BSEC_OTP_MAX_VALUE; otp++)
>> + if (!bsec_read_SR_lock(plat->base, otp))
>> + bsec_shadow_register(plat->base, otp);
>> + }
>>
>> return 0;
>> }
> Reviewed-by: Patrice Chotard <patrice.chotard at st.com>
>
> Thanks
>
> Patrice
> _______________________________________________
> Uboot-stm32 mailing list
> Uboot-stm32 at st-md-mailman.stormreply.com
> https://st-md-mailman.stormreply.com/mailman/listinfo/uboot-stm32
More information about the U-Boot
mailing list