pinctrl: s32: separate const device data from struct s32_pinctrl_soc_info
authorChester Lin <clin@suse.com>
Wed, 29 Mar 2023 04:16:30 +0000 (12:16 +0800)
committerLinus Walleij <linus.walleij@linaro.org>
Fri, 2 Jun 2023 07:36:25 +0000 (09:36 +0200)
commit0da4cebebc37b0f68c1ad991a1c6e4ecdb1bbc41
tree1089014c9ab9c8e0e9b17f812396cd8e1894767f
parent4d6366e6ff43dcf6c23156c017829a926403bd7d
pinctrl: s32: separate const device data from struct s32_pinctrl_soc_info

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.

Link: https://lore.kernel.org/r/20230329041630.8011-1-clin@suse.com/
Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Chester Lin <clin@suse.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/nxp/pinctrl-s32.h
drivers/pinctrl/nxp/pinctrl-s32cc.c
drivers/pinctrl/nxp/pinctrl-s32g2.c