[PATCH v2 1/2] env: mmc: Clean up macro usage
Marek Vasut
marex at denx.de
Thu Feb 23 19:24:18 CET 2023
On 2/23/23 17:32, Tom Rini wrote:
> On Thu, Feb 23, 2023 at 02:22:51PM +0100, Marek Vasut wrote:
>> On 2/23/23 11:41, Patrick DELAUNAY wrote:
>>> Hi Marek,
>>
>> Hi,
>>
>>> On 2/9/23 13:30, Marek Vasut wrote:
>>>> Consistently use 'if (IS_ENABLED(CONFIG_PARTITION_TYPE_GUID))' instead of
>>>> mix of ifdef.
>>>>
>>>> Signed-off-by: Marek Vasut <marex at denx.de>
>>>> ---
>>>> Cc: Patrice Chotard <patrice.chotard at foss.st.com>
>>>> Cc: Patrick Delaunay <patrick.delaunay at foss.st.com>
>>>> Cc: Tom Rini <trini at konsulko.com>
>>>> ---
>>>> V2: Replace CONFIG_IS_ENABLED(PARTITION_TYPE_GUID) with
>>>> IS_ENABLED(CONFIG_PARTITION_TYPE_GUID)
>>>> ---
>>>> env/mmc.c | 4 +---
>>>> 1 file changed, 1 insertion(+), 3 deletions(-)
>>>>
>>>> diff --git a/env/mmc.c b/env/mmc.c
>>>> index 5b01f657a7a..d51a5579128 100644
>>>> --- a/env/mmc.c
>>>> +++ b/env/mmc.c
>>>> @@ -73,8 +73,7 @@ static inline int mmc_offset_try_partition(const
>>>> char *str, int copy, s64 *val)
>>>> if (str && !strncmp((const char *)info.name, str,
>>>> sizeof(info.name)))
>>>> break;
>>>> -#ifdef CONFIG_PARTITION_TYPE_GUID
>>>> - if (!str) {
>>>> + if (IS_ENABLED(CONFIG_PARTITION_TYPE_GUID) && !str) {
>>>> const efi_guid_t env_guid = PARTITION_U_BOOT_ENVIRONMENT;
>>>> efi_guid_t type_guid;
>>>> @@ -82,7 +81,6 @@ static inline int mmc_offset_try_partition(const
>>>> char *str, int copy, s64 *val)
>>>> if (!memcmp(&env_guid, &type_guid, sizeof(efi_guid_t)))
>>>> break;
>>>> }
>>>> -#endif
>>>> }
>>>> /* round up to info.blksz */
>>>
>>>
>>> If I remenber, I try this test with IS_ENABLED when I propose my patch
>>>
>>> and I have compilation issue on next line
>>>
>>>
>>> + uuid_str_to_bin(info.type_guid, type_guid.b,
>>> UUID_STR_FORMAT_GUID);
>>>
>>>
>>> because "info.type_guid" don't exist in struct disk_partition
>>>
>>> see ./include/part.h:59
>>>
>>>
>>> struct disk_partition {
>>> lbaint_t start; /* # of first block in partition */
>>> ...
>>> #ifdef CONFIG_PARTITION_TYPE_GUID
>>> char type_guid[UUID_STR_LEN + 1]; /* type GUID as string, if
>>> exists */
>>> #endif
>>> ...
>>> };
>>
>> Uh, which defconfig triggers this ?
>>
>> Also, is there a way to deal with this failure without reinstating the ifdef
>> ? Tom ?
>
> It's likely on one of the platforms that disables EFI_LOADER, where this
> ends up being a fail to build. I don't recall which, but I've seen it
> before. So we probably don't end up converting this to a macro check.
Can you pick the 2/2 for starters ? It is a bugfix and applies cleanly,
so let's not block that one. I'll keep 1/2 in my queue and revisit it, I
see the failure in CI now.
More information about the U-Boot
mailing list