Subject: Re: linux-next: build failure after merge of the pinctrl-intel tree

From: Stephen Rothwell <[email-masked]>
Date: Tue, 18 Oct 2022 13:20:08 +1100

Hi all,

On Tue, 18 Oct 2022 13:13:30 +1100 Stephen Rothwell <[email-masked]> wrote:
>
> After merging the pinctrl-intel tree, today's linux-next build (arm64
> defconfig) failed like this:

drivers/pinctrl/pinctrl-zynqmp.c:483:21: error: variable 'zynqmp_pinconf_ops' has initializer but incomplete type
  483 | static const struct pinconf_ops zynqmp_pinconf_ops = {
      |                     ^~~~~~~~~~~
drivers/pinctrl/pinctrl-zynqmp.c:484:10: error: 'const struct pinconf_ops' has no member named 'is_generic'
  484 |         .is_generic = true,
      |          ^~~~~~~~~~
drivers/pinctrl/pinctrl-zynqmp.c:484:23: warning: excess elements in struct initializer
  484 |         .is_generic = true,
      |                       ^~~~
drivers/pinctrl/pinctrl-zynqmp.c:484:23: note: (near initialization for 'zynqmp_pinconf_ops')
drivers/pinctrl/pinctrl-zynqmp.c:485:10: error: 'const struct pinconf_ops' has no member named 'pin_config_get'
  485 |         .pin_config_get = zynqmp_pinconf_cfg_get,
      |          ^~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-zynqmp.c:485:27: warning: excess elements in struct initializer
  485 |         .pin_config_get = zynqmp_pinconf_cfg_get,
      |                           ^~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-zynqmp.c:485:27: note: (near initialization for 'zynqmp_pinconf_ops')
drivers/pinctrl/pinctrl-zynqmp.c:486:10: error: 'const struct pinconf_ops' has no member named 'pin_config_set'
  486 |         .pin_config_set = zynqmp_pinconf_cfg_set,
      |          ^~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-zynqmp.c:486:27: warning: excess elements in struct initializer
  486 |         .pin_config_set = zynqmp_pinconf_cfg_set,
      |                           ^~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-zynqmp.c:486:27: note: (near initialization for 'zynqmp_pinconf_ops')
drivers/pinctrl/pinctrl-zynqmp.c:487:10: error: 'const struct pinconf_ops' has no member named 'pin_config_group_set'
  487 |         .pin_config_group_set = zynqmp_pinconf_group_set,
      |          ^~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-zynqmp.c:487:33: warning: excess elements in struct initializer
  487 |         .pin_config_group_set = zynqmp_pinconf_group_set,
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/pinctrl-zynqmp.c:487:33: note: (near initialization for 'zynqmp_pinconf_ops')
drivers/pinctrl/pinctrl-zynqmp.c:483:33: error: storage size of 'zynqmp_pinconf_ops' isn't known
  483 | static const struct pinconf_ops zynqmp_pinconf_ops = {
      |                                 ^~~~~~~~~~~~~~~~~~

> Presumably caused by commit
> 
>   e6b665a1c9ae ("pinctrl: Clean up headers")
> 
> I have applied the following patch for today.
> 
> From: Stephen Rothwell <[email-masked]>
> Date: Tue, 18 Oct 2022 13:06:39 +1100
> Subject: [PATCH] fix up for "pinctrl: Clean up headers"
> 
> Signed-off-by: Stephen Rothwell <[email-masked]>
> ---
>  drivers/pinctrl/pinctrl-zynqmp.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/pinctrl/pinctrl-zynqmp.c b/drivers/pinctrl/pinctrl-zynqmp.c
> index 1a94db1ffa4f..f2be341f73e1 100644
> --- a/drivers/pinctrl/pinctrl-zynqmp.c
> +++ b/drivers/pinctrl/pinctrl-zynqmp.c
> @@ -18,6 +18,7 @@
>  #include <linux/firmware/xlnx-zynqmp.h>
>  
>  #include <linux/pinctrl/pinconf-generic.h>
> +#include <linux/pinctrl/pinconf.h>
>  #include <linux/pinctrl/pinctrl.h>
>  #include <linux/pinctrl/pinmux.h>

-- 
Cheers,
Stephen Rothwell