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

Andy Shevchenko andy.shevchenko at gmail.com
Mon Mar 27 04:58:50 PDT 2023


On Mon, Mar 27, 2023 at 9:28 AM 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.

...

> -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.

...

> +       const struct s32_pinctrl_soc_data *soc_data;
>
> +       soc_data = of_device_get_match_data(&pdev->dev);

-- 
With Best Regards,
Andy Shevchenko



More information about the linux-arm-kernel mailing list