R: linux-next: build failure after merge of the pinctrl tree

From: ansuelsmth
Date: Mon Mar 30 2020 - 05:11:43 EST


> Hi all,
>
> After merging the pinctrl tree, today's linux-next build (arm
> multi_v7_defconfig) failed like this:
>
> drivers/pinctrl/qcom/pinctrl-msm.c:909:4: error: expected identifier or
'('
> before 'else'
> 909 | } else {
> | ^~~~
> drivers/pinctrl/qcom/pinctrl-msm.c:921:2: warning: data definition has no
> type or storage class
> 921 | val = msm_readl_intr_cfg(pctrl, g);
> | ^~~
> drivers/pinctrl/qcom/pinctrl-msm.c:921:2: error: type defaults to 'int' in
> declaration of 'val' [-Werror=implicit-int]
> drivers/pinctrl/qcom/pinctrl-msm.c:921:27: error: 'pctrl' undeclared here
> (not in a function); did you mean 'pinctrl'?
> 921 | val = msm_readl_intr_cfg(pctrl, g);
> | ^~~~~
> | pinctrl
> drivers/pinctrl/qcom/pinctrl-msm.c:921:34: error: 'g' undeclared here (not
> in a function)
> 921 | val = msm_readl_intr_cfg(pctrl, g);
> | ^
> drivers/pinctrl/qcom/pinctrl-msm.c:922:6: error: expected '=', ',', ';',
'asm'
> or '__attribute__' before '|=' token
> 922 | val |= BIT(g->intr_raw_status_bit);
> | ^~
> drivers/pinctrl/qcom/pinctrl-msm.c:923:2: error: expected identifier or
'('
> before 'if'
> 923 | if (g->intr_detection_width == 2) {
> | ^~
> drivers/pinctrl/qcom/pinctrl-msm.c:945:4: error: expected identifier or
'('
> before 'else'
> 945 | } else if (g->intr_detection_width == 1) {
> | ^~~~
> drivers/pinctrl/qcom/pinctrl-msm.c:966:4: error: expected identifier or
'('
> before 'else'
> 966 | } else {
> | ^~~~
> drivers/pinctrl/qcom/pinctrl-msm.c:969:2: warning: data definition has no
> type or storage class
> 969 | msm_writel_intr_cfg(val, pctrl, g);
> | ^~~~~~~~~~~~~~~~~~~
> drivers/pinctrl/qcom/pinctrl-msm.c:969:2: error: type defaults to 'int' in
> declaration of 'msm_writel_intr_cfg' [-Werror=implicit-int]
> drivers/pinctrl/qcom/pinctrl-msm.c:969:2: warning: parameter names
> (without types) in function declaration
> drivers/pinctrl/qcom/pinctrl-msm.c:969:2: error: conflicting types for
> 'msm_writel_intr_cfg'
> drivers/pinctrl/qcom/pinctrl-msm.c:84:13: note: previous definition of
> 'msm_writel_intr_cfg' was here
> 84 | static void msm_writel_##name(u32 val, struct msm_pinctrl *pctrl,
> \
> | ^~~~~~~~~~~
> drivers/pinctrl/qcom/pinctrl-msm.c:92:1: note: in expansion of macro
> 'MSM_ACCESSOR'
> 92 | MSM_ACCESSOR(intr_cfg)
> | ^~~~~~~~~~~~
> drivers/pinctrl/qcom/pinctrl-msm.c:971:2: error: expected identifier or
'('
> before 'if'
> 971 | if (test_bit(d->hwirq, pctrl->dual_edge_irqs))
> | ^~
> In file included from include/linux/vmalloc.h:5,
> from include/asm-generic/io.h:887,
> from arch/arm/include/asm/io.h:438,
> from include/linux/io.h:13,
> from drivers/pinctrl/qcom/pinctrl-msm.c:9:
> include/linux/spinlock.h:287:2: error: expected identifier or '(' before
'do'
> 287 | do { \
> | ^~
> drivers/pinctrl/qcom/pinctrl-msm.c:974:2: note: in expansion of macro
> 'raw_spin_unlock_irqrestore'
> 974 | raw_spin_unlock_irqrestore(&pctrl->lock, flags);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~
> include/linux/spinlock.h:290:4: error: expected identifier or '(' before
'while'
> 290 | } while (0)
> | ^~~~~
> drivers/pinctrl/qcom/pinctrl-msm.c:974:2: note: in expansion of macro
> 'raw_spin_unlock_irqrestore'
> 974 | raw_spin_unlock_irqrestore(&pctrl->lock, flags);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/pinctrl/qcom/pinctrl-msm.c:976:2: error: expected identifier or
'('
> before 'if'
> 976 | if (type & (IRQ_TYPE_LEVEL_LOW | IRQ_TYPE_LEVEL_HIGH))
> | ^~
> drivers/pinctrl/qcom/pinctrl-msm.c:978:2: error: expected identifier or
'('
> before 'else'
> 978 | else if (type & (IRQ_TYPE_EDGE_FALLING |
> IRQ_TYPE_EDGE_RISING))
> | ^~~~
> drivers/pinctrl/qcom/pinctrl-msm.c:981:2: error: expected identifier or
'('
> before 'return'
> 981 | return 0;
> | ^~~~~~
> drivers/pinctrl/qcom/pinctrl-msm.c:982:1: error: expected identifier or
'('
> before '}' token
> 982 | }
> | ^
> drivers/pinctrl/qcom/pinctrl-msm.c: In function 'msm_gpio_irq_set_type':
> drivers/pinctrl/qcom/pinctrl-msm.c:909:2: warning: control reaches end of
> non-void function [-Wreturn-type]
> 909 | } else {
> | ^
> At top level:
> drivers/pinctrl/qcom/pinctrl-msm.c:84:13: warning:
> 'msm_writel_intr_target' defined but not used [-Wunused-function]
> 84 | static void msm_writel_##name(u32 val, struct msm_pinctrl *pctrl,
> \
> | ^~~~~~~~~~~
> drivers/pinctrl/qcom/pinctrl-msm.c:94:1: note: in expansion of macro
> 'MSM_ACCESSOR'
> 94 | MSM_ACCESSOR(intr_target)
> | ^~~~~~~~~~~~
> drivers/pinctrl/qcom/pinctrl-msm.c:79:12: warning:
> 'msm_readl_intr_target' defined but not used [-Wunused-function]
> 79 | static u32 msm_readl_##name(struct msm_pinctrl *pctrl, \
> | ^~~~~~~~~~
> drivers/pinctrl/qcom/pinctrl-msm.c:94:1: note: in expansion of macro
> 'MSM_ACCESSOR'
> 94 | MSM_ACCESSOR(intr_target)
> | ^~~~~~~~~~~~
>
> Caused by commit
>
> 13bec8d49bdf ("pinctrl: qcom: use scm_call to route GPIO irq to Apps")
>
> I have reverted that commit for today.
>
> --
> Cheers,
> Stephen Rothwell

Hello I sent a v4 of the broken patch. I'm really sorry for the mess... If I
should fix
this in a different way pls tell me how and I will do ASAP.