Hi Linus and Andy, On Mon, Mar 27, 2023 at 11:39:18PM +0200, Linus Walleij wrote: > On Mon, Mar 27, 2023 at 1:59 PM Andy Shevchenko > <andy.shevchenko@xxxxxxxxx> wrote: > > On Mon, Mar 27, 2023 at 9:28 AM Chester Lin <clin@xxxxxxxx> wrote: > > > > > > The .data field in struct of_device_id is used as a const member so it's > > > inappropriate to attach struct s32_pinctrl_soc_info with of_device_id > > > because some members in s32_pinctrl_soc_info need to be filled by > > > pinctrl-s32cc at runtime. > > > > > > For this reason, struct s32_pinctrl_soc_info must be allocated in > > > pinctrl-s32cc and then create a new struct s32_pinctrl_soc_data in order > > > to represent const .data in of_device_id. To combine these two structures, > > > a s32_pinctrl_soc_data pointer is introduced in s32_pinctrl_soc_info. > > > > > > Besides, use of_device_get_match_data() instead of of_match_device() since > > > the driver only needs to retrieve the .data from of_device_id. > > > > ... > > > > > -static struct s32_pinctrl_soc_info s32_pinctrl_info = { > > > +static struct s32_pinctrl_soc_data s32_pinctrl_data = { > > > > I'm wondering why it's not const. > > > > But don't resend too quickly, let's wait for Linus to comment on this > > and other stuff. It might be that he can amend this when applying. > > I don't dare to add const here given the compiler warnings it > can easily spawn. > > Chester can you investigate if these can be static const? > > You would only need to resend this patch 5/5 because I applied > all the others to lower your patch stack. > > Thanks for fixing! > Yours, > Linus Walleij Thanks for reviewing this patch and Andy's suggestion looks good to me. The s32_pinctrl_data should be const as well since the 'data' pointer in of_device_id is declared as const. Anyway, I have resent a revised 5/5 under the same mail thread: https://lore.kernel.org/all/20230329041630.8011-1-clin@xxxxxxxx/T/#u It can be compiled by the following two gcc versions without a warning on drivers/pinctrl/nxp - aarch64-native: - gcc version 7.5.0 (SUSE Linux) <aarch64-native> - cross-compilation on x86-64 - gcc version 13.0.1 20230127 (experimental) [revision ca8fb0096713a8477614ef874f16ba5bf16c48bc] (SUSE Linux) Thanks! Regards, Chester