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