[PATCH v4 5/5] pinctrl: s32: separate const device data from struct s32_pinctrl_soc_info

Andy Shevchenko andy.shevchenko at gmail.com
Fri Mar 24 07:55:36 PDT 2023


On Fri, Mar 24, 2023 at 4:38 PM Chester Lin <clin at suse.com> 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.

...

>                 .compatible = "nxp,s32g2-siul2-pinctrl",
> -               .data = (void *) &s32_pinctrl_info,
> +               .data = (void *) &s32_pinctrl_data,

Do you need casting now?

-- 
With Best Regards,
Andy Shevchenko



More information about the linux-arm-kernel mailing list