[PATCH 14/15] mach-snapdragon: fetch serial# from SMEM
Caleb Connolly
caleb.connolly at linaro.org
Wed Jan 8 16:03:49 CET 2025
On 07/01/2025 16:32, Simon Glass wrote:
> Hi Caleb,
>
> On Sun, 24 Nov 2024 at 12:18, Caleb Connolly <caleb.connolly at linaro.org> wrote:
>>
>> If available, otherwise fall back to cmdline.
>>
>> Signed-off-by: Caleb Connolly <caleb.connolly at linaro.org>
>> ---
>> arch/arm/mach-snapdragon/board.c | 11 ++++++++++-
>> 1 file changed, 10 insertions(+), 1 deletion(-)
>>
>
> Reviewed-by: Simon Glass <sjg at chromium.org>
>
> Thoughts below
>
>> diff --git a/arch/arm/mach-snapdragon/board.c b/arch/arm/mach-snapdragon/board.c
>> index 269d39e4f6e1..dbac8aa2709a 100644
>> --- a/arch/arm/mach-snapdragon/board.c
>> +++ b/arch/arm/mach-snapdragon/board.c
>> @@ -30,8 +30,9 @@
>> #include <malloc.h>
>> #include <fdt_support.h>
>> #include <usb.h>
>> #include <sort.h>
>> +#include <soc/qcom/smem.h>
>> #include <time.h>
>>
>> #include "qcom-priv.h"
>>
>> @@ -198,11 +199,16 @@ static const char *get_cmdline(void)
>> }
>>
>> void qcom_set_serialno(void)
>> {
>> - const char *cmdline = get_cmdline();
>> + const char *cmdline;
>> char serial[32];
>>
>> + if (!qcom_socinfo_init())
>
> Hmmm that function should return an error code, i.e. 0 on success.
> Does Linux use a boot interface here?
the name of this function isn't great, what it actually does it retrieve
the serial number from smem and set serial#, returning 0 on success
(meaning the serial number is set, so we have nothing else to do).
>
>> + return;
>
> Shouldn't this return an error?
>
>> +
>> + cmdline = get_cmdline();
>> +
>
> drop blank line
>
>> if (!cmdline) {
>> log_debug("Failed to get bootargs\n");
>
> Shouldn't this be an error? If not, please add a comment.
bootargs are only available when we're chainloading from ABL (something
we can't easily detect at runtime). I would eventually like to drop this
and rely on smem only ideally. But that's quite unrelated to this series.
>
>> return;
>> }
>> @@ -353,8 +359,11 @@ int board_late_init(void)
>>
>> /* By default copy U-Boots FDT, it will be used as a fallback */
>> memcpy((void *)addr, (void *)gd->fdt_blob, fdt32_to_cpu(fdt_blob->totalsize));
>>
>> + /* Initialise SMEM if it wasn't done already */
>> + qcom_smem_init();
>> +
>> configure_env();
>> qcom_late_init();
>>
>> /* Configure the dfu_string for capsule updates */
>>
>> --
>> 2.47.0
>>
>
> Regards,
> Simon
--
// Caleb (they/them)
More information about the U-Boot
mailing list