Hello Teresa, On Wed, 2023-12-20 at 09:24 +0100, Teresa Remmet wrote: > Hello Yannic, > > Am Mittwoch, dem 20.12.2023 um 09:19 +0100 schrieb Yannic Moog: > > In phytec_eeprom_data_init, after reading eeprom data into buffer, it > > is > > checked whether all bytes are 0x0 by iterating over chunks of the > > buffer. The offset, or index of the chunk, was never changed, leading > > to > > repeated comparison of only the first chunk. Use array notation and > > access chunk via array index to compare all chunks of the buffer. > > it seems that you have here accidentally two patches in one. > Please check.
I see, will update; Thanks Yannic > > Teresa > > > > > Signed-off-by: Yannic Moog <[email protected]> > > --- > > board/phytec/common/imx8m_som_detection.c | 32 > > ++++++++++++++++++++++ > > board/phytec/common/imx8m_som_detection.h | 32 -------------------- > > -- > > board/phytec/common/phytec_som_detection.c | 43 > > ++++++++++++++++++++++++++++-- > > board/phytec/common/phytec_som_detection.h | 38 -------------------- > > ------ > > 4 files changed, 73 insertions(+), 72 deletions(-) > > > > diff --git a/board/phytec/common/imx8m_som_detection.c > > b/board/phytec/common/imx8m_som_detection.c > > index a229eae152d..214b75db3b0 100644 > > --- a/board/phytec/common/imx8m_som_detection.c > > +++ b/board/phytec/common/imx8m_som_detection.c > > @@ -15,6 +15,8 @@ > > > > extern struct phytec_eeprom_data eeprom_data; > > > > +#if IS_ENABLED(CONFIG_PHYTEC_IMX8M_SOM_DETECTION) > > + > > /* Check if the SoM is actually one of the following products: > > * - i.MX8MM > > * - i.MX8MN > > @@ -166,3 +168,33 @@ u8 __maybe_unused phytec_get_imx8mp_rtc(struct > > phytec_eeprom_data *data) > > debug("%s: rtc: %u\n", __func__, rtc); > > return rtc; > > } > > + > > +#else > > + > > +inline int __maybe_unused phytec_imx8m_detect(struct > > phytec_eeprom_data *data) > > +{ > > + return -1; > > +} > > + > > +inline u8 __maybe_unused > > +phytec_get_imx8m_ddr_size(struct phytec_eeprom_data *data) > > +{ > > + return PHYTEC_EEPROM_INVAL; > > +} > > + > > +inline u8 __maybe_unused phytec_get_imx8mp_rtc(struct > > phytec_eeprom_data *data) > > +{ > > + return PHYTEC_EEPROM_INVAL; > > +} > > + > > +inline u8 __maybe_unused phytec_get_imx8m_spi(struct > > phytec_eeprom_data *data) > > +{ > > + return PHYTEC_EEPROM_INVAL; > > +} > > + > > +inline u8 __maybe_unused phytec_get_imx8m_eth(struct > > phytec_eeprom_data *data) > > +{ > > + return PHYTEC_EEPROM_INVAL; > > +} > > + > > +#endif /* IS_ENABLED(CONFIG_PHYTEC_IMX8M_SOM_DETECTION) */ > > diff --git a/board/phytec/common/imx8m_som_detection.h > > b/board/phytec/common/imx8m_som_detection.h > > index 442085cfe97..0176347414f 100644 > > --- a/board/phytec/common/imx8m_som_detection.h > > +++ b/board/phytec/common/imx8m_som_detection.h > > @@ -13,42 +13,10 @@ > > #define PHYTEC_IMX8MM_SOM 69 > > #define PHYTEC_IMX8MP_SOM 70 > > > > -#if IS_ENABLED(CONFIG_PHYTEC_IMX8M_SOM_DETECTION) > > - > > int __maybe_unused phytec_imx8m_detect(struct phytec_eeprom_data > > *data); > > u8 __maybe_unused phytec_get_imx8m_ddr_size(struct > > phytec_eeprom_data *data); > > u8 __maybe_unused phytec_get_imx8mp_rtc(struct phytec_eeprom_data > > *data); > > u8 __maybe_unused phytec_get_imx8m_spi(struct phytec_eeprom_data > > *data); > > u8 __maybe_unused phytec_get_imx8m_eth(struct phytec_eeprom_data > > *data); > > > > -#else > > - > > -inline int __maybe_unused phytec_imx8m_detect(struct > > phytec_eeprom_data *data) > > -{ > > - return -1; > > -} > > - > > -inline u8 __maybe_unused > > -phytec_get_imx8m_ddr_size(struct phytec_eeprom_data *data) > > -{ > > - return PHYTEC_EEPROM_INVAL; > > -} > > - > > -inline u8 __maybe_unused phytec_get_imx8mp_rtc(struct > > phytec_eeprom_data *data) > > -{ > > - return PHYTEC_EEPROM_INVAL; > > -} > > - > > -inline u8 __maybe_unused phytec_get_imx8m_spi(struct > > phytec_eeprom_data *data) > > -{ > > - return PHYTEC_EEPROM_INVAL; > > -} > > - > > -inline u8 __maybe_unused phytec_get_imx8m_eth(struct > > phytec_eeprom_data *data) > > -{ > > - return PHYTEC_EEPROM_INVAL; > > -} > > - > > -#endif /* IS_ENABLED(CONFIG_PHYTEC_IMX8M_SOM_DETECTION) */ > > - > > #endif /* _PHYTEC_IMX8M_SOM_DETECTION_H */ > > diff --git a/board/phytec/common/phytec_som_detection.c > > b/board/phytec/common/phytec_som_detection.c > > index 55562731270..f879702df45 100644 > > --- a/board/phytec/common/phytec_som_detection.c > > +++ b/board/phytec/common/phytec_som_detection.c > > @@ -16,6 +16,8 @@ > > > > struct phytec_eeprom_data eeprom_data; > > > > +#if IS_ENABLED(CONFIG_PHYTEC_SOM_DETECTION) > > + > > int phytec_eeprom_data_setup_fallback(struct phytec_eeprom_data > > *data, > > int bus_num, int addr, int > > addr_fallback) > > { > > @@ -83,8 +85,8 @@ int phytec_eeprom_data_init(struct > > phytec_eeprom_data *data, > > } > > > > ptr = (int *)data; > > - for (i = 0; i < sizeof(struct phytec_eeprom_data); i += > > sizeof(ptr)) > > - if (*ptr != 0x0) > > + for (i = 0; i < sizeof(struct phytec_eeprom_data); i++) > > + if (ptr[i] != 0x0) > > break; > > > > if (i == sizeof(struct phytec_eeprom_data)) { > > @@ -201,3 +203,40 @@ u8 __maybe_unused phytec_get_rev(struct > > phytec_eeprom_data *data) > > > > return api2->pcb_rev; > > } > > + > > +#else > > + > > +inline int phytec_eeprom_data_setup(struct phytec_eeprom_data *data, > > + int bus_num, int addr) > > +{ > > + return PHYTEC_EEPROM_INVAL; > > +} > > + > > +inline int phytec_eeprom_data_setup_fallback(struct > > phytec_eeprom_data *data, > > + int bus_num, int addr, > > + int addr_fallback) > > +{ > > + return PHYTEC_EEPROM_INVAL; > > +} > > + > > +inline int phytec_eeprom_data_init(struct phytec_eeprom_data *data, > > + int bus_num, int addr) > > +{ > > + return PHYTEC_EEPROM_INVAL; > > +} > > + > > +inline void __maybe_unused phytec_print_som_info(struct > > phytec_eeprom_data *data) > > +{ > > +} > > + > > +inline char *__maybe_unused phytec_get_opt(struct phytec_eeprom_data > > *data) > > +{ > > + return NULL; > > +} > > + > > +u8 __maybe_unused phytec_get_rev(struct phytec_eeprom_data *data) > > +{ > > + return PHYTEC_EEPROM_INVAL; > > +} > > + > > +#endif /* IS_ENABLED(CONFIG_PHYTEC_SOM_DETECTION) */ > > diff --git a/board/phytec/common/phytec_som_detection.h > > b/board/phytec/common/phytec_som_detection.h > > index c68e2302cc4..11009240875 100644 > > --- a/board/phytec/common/phytec_som_detection.h > > +++ b/board/phytec/common/phytec_som_detection.h > > @@ -56,8 +56,6 @@ struct phytec_eeprom_data { > > } data; > > } __packed; > > > > -#if IS_ENABLED(CONFIG_PHYTEC_SOM_DETECTION) > > - > > int phytec_eeprom_data_setup_fallback(struct phytec_eeprom_data > > *data, > > int bus_num, int addr, > > int addr_fallback); > > @@ -70,40 +68,4 @@ void __maybe_unused phytec_print_som_info(struct > > phytec_eeprom_data *data); > > char * __maybe_unused phytec_get_opt(struct phytec_eeprom_data > > *data); > > u8 __maybe_unused phytec_get_rev(struct phytec_eeprom_data *data); > > > > -#else > > - > > -inline int phytec_eeprom_data_setup(struct phytec_eeprom_data *data, > > - int bus_num, int addr) > > -{ > > - return PHYTEC_EEPROM_INVAL; > > -} > > - > > -inline int phytec_eeprom_data_setup_fallback(struct > > phytec_eeprom_data *data, > > - int bus_num, int addr, > > - int addr_fallback) > > -{ > > - return PHYTEC_EEPROM_INVAL; > > -} > > - > > -inline int phytec_eeprom_data_init(struct phytec_eeprom_data *data, > > - int bus_num, int addr) > > -{ > > - return PHYTEC_EEPROM_INVAL; > > -} > > - > > -inline void __maybe_unused phytec_print_som_info(struct > > phytec_eeprom_data *data) > > -{ > > -} > > - > > -inline char *__maybe_unused phytec_get_opt(struct phytec_eeprom_data > > *data) > > -{ > > - return NULL; > > -} > > - > > -u8 __maybe_unused phytec_get_rev(struct phytec_eeprom_data *data) > > -{ > > - return PHYTEC_EEPROM_INVAL; > > -} > > -#endif /* IS_ENABLED(CONFIG_PHYTEC_SOM_DETECTION) */ > > - > > #endif /* _PHYTEC_SOM_DETECTION_H */ > > > > -- > PHYTEC Messtechnik GmbH | Barcelona-Allee 1 | 55129 Mainz, Germany > > Geschäftsführer: Dipl.-Ing. Michael Mitezki, Dipl.-Ing. Bodo Huber, > Dipl.-Ing. (FH) Markus Lickes | Handelsregister Mainz HRB 4656 | > Finanzamt Mainz | St.Nr. 266500608, DE 149059855

