On 10/23/25 23:48, Marek Vasut wrote:
> Move dh_add_item_number_and_serial_to_env() to common code, so it
> can be used by both STM32MP13xx and iMX8MP DHSOM. No functional
> change.
> 
> Signed-off-by: Marek Vasut <[email protected]>
> ---
> Cc: Patrice Chotard <[email protected]>
> Cc: Patrick Delaunay <[email protected]>
> Cc: Tom Rini <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> ---
>  board/dhelectronics/common/dh_common.c        | 37 +++++++++++++++++++
>  board/dhelectronics/common/dh_common.h        |  9 +++++
>  .../dh_imx8mp/imx8mp_dhcom_pdk2.c             | 37 -------------------
>  3 files changed, 46 insertions(+), 37 deletions(-)
> 
> diff --git a/board/dhelectronics/common/dh_common.c 
> b/board/dhelectronics/common/dh_common.c
> index 6101ecc7ebc..e7ee23aa8ce 100644
> --- a/board/dhelectronics/common/dh_common.c
> +++ b/board/dhelectronics/common/dh_common.c
> @@ -246,3 +246,40 @@ __weak int dh_setup_mac_address(struct eeprom_id_page 
> *eip)
>       printf("%s: Unable to set mac address!\n", __func__);
>       return -ENXIO;
>  }
> +
> +void dh_add_item_number_and_serial_to_env(struct eeprom_id_page *eip)
> +{
> +     char *item_number_env;
> +     char item_number[8];    /* String with 7 characters + string 
> termination */
> +     char *serial_env;
> +     char serial[10];        /* String with 9 characters + string 
> termination */
> +     int ret;
> +
> +     ret = dh_get_value_from_eeprom_buffer(DH_ITEM_NUMBER, item_number, 
> sizeof(item_number),
> +                                           eip);
> +     if (ret) {
> +             printf("%s: Unable to get DHSOM item number from EEPROM ID 
> page! ret = %d\n",
> +                    __func__, ret);
> +     } else {
> +             item_number_env = env_get("dh_som_item_number");
> +             if (!item_number_env)
> +                     env_set("dh_som_item_number", item_number);
> +             else if (strcmp(item_number_env, item_number))
> +                     printf("Warning: Environment dh_som_item_number differs 
> from EEPROM ID page value (%s != %s)\n",
> +                            item_number_env, item_number);
> +     }
> +
> +     ret = dh_get_value_from_eeprom_buffer(DH_SERIAL_NUMBER, serial, 
> sizeof(serial),
> +                                           eip);
> +     if (ret) {
> +             printf("%s: Unable to get DHSOM serial number from EEPROM ID 
> page! ret = %d\n",
> +                    __func__, ret);
> +     } else {
> +             serial_env = env_get("dh_som_serial_number");
> +             if (!serial_env)
> +                     env_set("dh_som_serial_number", serial);
> +             else if (strcmp(serial_env, serial))
> +                     printf("Warning: Environment dh_som_serial_number 
> differs from EEPROM ID page value (%s != %s)\n",
> +                            serial_env, serial);
> +     }
> +}
> diff --git a/board/dhelectronics/common/dh_common.h 
> b/board/dhelectronics/common/dh_common.h
> index c4693c60618..b4f31bdb88e 100644
> --- a/board/dhelectronics/common/dh_common.h
> +++ b/board/dhelectronics/common/dh_common.h
> @@ -107,7 +107,16 @@ int dh_get_value_from_eeprom_buffer(enum 
> eip_request_values request, u8 *data, i
>  
>  /*
>   * dh_setup_mac_address - Try to get MAC address from various locations and 
> write it to env
> + * @eip: ID EEPROM buffer
>   *
>   * Return: 0 if OK, other value on error
>   */
>  int dh_setup_mac_address(struct eeprom_id_page *eip);
> +
> +/*
> + * dh_add_item_number_and_serial_to_env - Try to get DH IDs from WLP write 
> them to env
> + * @eip: ID EEPROM buffer
> + *
> + * Return: 0 if OK, other value on error
> + */
> +void dh_add_item_number_and_serial_to_env(struct eeprom_id_page *eip);
> diff --git a/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c 
> b/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c
> index 3a890c5920c..5c35a5bf447 100644
> --- a/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c
> +++ b/board/dhelectronics/dh_imx8mp/imx8mp_dhcom_pdk2.c
> @@ -116,43 +116,6 @@ int dh_setup_mac_address(struct eeprom_id_page *eip)
>       return ret;
>  }
>  
> -void dh_add_item_number_and_serial_to_env(struct eeprom_id_page *eip)
> -{
> -     char *item_number_env;
> -     char item_number[8];    /* String with 7 characters + string 
> termination */
> -     char *serial_env;
> -     char serial[10];        /* String with 9 characters + string 
> termination */
> -     int ret;
> -
> -     ret = dh_get_value_from_eeprom_buffer(DH_ITEM_NUMBER, item_number, 
> sizeof(item_number),
> -                                           eip);
> -     if (ret) {
> -             printf("%s: Unable to get DHSOM item number from EEPROM ID 
> page! ret = %d\n",
> -                    __func__, ret);
> -     } else {
> -             item_number_env = env_get("dh_som_item_number");
> -             if (!item_number_env)
> -                     env_set("dh_som_item_number", item_number);
> -             else if (strcmp(item_number_env, item_number))
> -                     printf("Warning: Environment dh_som_item_number differs 
> from EEPROM ID page value (%s != %s)\n",
> -                            item_number_env, item_number);
> -     }
> -
> -     ret = dh_get_value_from_eeprom_buffer(DH_SERIAL_NUMBER, serial, 
> sizeof(serial),
> -                                           eip);
> -     if (ret) {
> -             printf("%s: Unable to get DHSOM serial number from EEPROM ID 
> page! ret = %d\n",
> -                    __func__, ret);
> -     } else {
> -             serial_env = env_get("dh_som_serial_number");
> -             if (!serial_env)
> -                     env_set("dh_som_serial_number", serial);
> -             else if (strcmp(serial_env, serial))
> -                     printf("Warning: Environment dh_som_serial_number 
> differs from EEPROM ID page value (%s != %s)\n",
> -                            serial_env, serial);
> -     }
> -}
> -
>  int board_late_init(void)
>  {
>       u8 eeprom_buffer[DH_EEPROM_ID_PAGE_MAX_SIZE] = { 0 };
Hi 

Reviewed-by: Patrice Chotard <[email protected]>

Thanks
Patrice

Reply via email to