Hi all, After merging the pinctrl tree, today's linux-next build (x86_64 allmodconfig) failed like this: drivers/pinctrl/pinctrl-loongson2.c:42:29: error: field 'desc' has incomplete type 42 | struct pinctrl_desc desc; | ^~~~ drivers/pinctrl/pinctrl-loongson2.c:63:38: error: array type has incomplete element type 'struct pinctrl_pin_desc' 63 | static const struct pinctrl_pin_desc loongson2_pctrl_pins[] = { | ^~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-loongson2.c:62:26: error: implicit declaration of function 'PINCTRL_PIN' [-Werror=implicit-function-declaration] 62 | #define LOONGSON2_PIN(x) PINCTRL_PIN(x, "gpio"#x) | ^~~~~~~~~~~ drivers/pinctrl/pinctrl-loongson2.c:64:9: note: in expansion of macro 'LOONGSON2_PIN' 64 | LOONGSON2_PIN(0), LOONGSON2_PIN(1), LOONGSON2_PIN(2), LOONGSON2_PIN(3), | ^~~~~~~~~~~~~ drivers/pinctrl/pinctrl-loongson2.c: In function 'loongson2_pin_dbg_show': drivers/pinctrl/pinctrl-loongson2.c:208:9: error: implicit declaration of function 'seq_printf'; did you mean 'bstr_printf'? [-Werror=implicit-function-declaration] 208 | seq_printf(s, " %s", dev_name(pcdev->dev)); | ^~~~~~~~~~ | bstr_printf drivers/pinctrl/pinctrl-loongson2.c: At top level: drivers/pinctrl/pinctrl-loongson2.c:211:21: error: variable 'loongson2_pctrl_ops' has initializer but incomplete type 211 | static const struct pinctrl_ops loongson2_pctrl_ops = { | ^~~~~~~~~~~ drivers/pinctrl/pinctrl-loongson2.c:212:10: error: 'const struct pinctrl_ops' has no member named 'get_groups_count' 212 | .get_groups_count = loongson2_get_groups_count, | ^~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-loongson2.c:212:35: error: excess elements in struct initializer [-Werror] 212 | .get_groups_count = loongson2_get_groups_count, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-loongson2.c:212:35: note: (near initialization for 'loongson2_pctrl_ops') drivers/pinctrl/pinctrl-loongson2.c:213:10: error: 'const struct pinctrl_ops' has no member named 'get_group_name' 213 | .get_group_name = loongson2_get_group_name, | ^~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-loongson2.c:213:35: error: excess elements in struct initializer [-Werror] 213 | .get_group_name = loongson2_get_group_name, | ^~~~~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-loongson2.c:213:35: note: (near initialization for 'loongson2_pctrl_ops') drivers/pinctrl/pinctrl-loongson2.c:214:10: error: 'const struct pinctrl_ops' has no member named 'get_group_pins' 214 | .get_group_pins = loongson2_get_group_pins, | ^~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-loongson2.c:214:35: error: excess elements in struct initializer [-Werror] 214 | .get_group_pins = loongson2_get_group_pins, | ^~~~~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-loongson2.c:214:35: note: (near initialization for 'loongson2_pctrl_ops') drivers/pinctrl/pinctrl-loongson2.c:215:10: error: 'const struct pinctrl_ops' has no member named 'dt_node_to_map' 215 | .dt_node_to_map = pinconf_generic_dt_node_to_map_all, | ^~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-loongson2.c:215:35: error: excess elements in struct initializer [-Werror] 215 | .dt_node_to_map = pinconf_generic_dt_node_to_map_all, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-loongson2.c:215:35: note: (near initialization for 'loongson2_pctrl_ops') drivers/pinctrl/pinctrl-loongson2.c:216:10: error: 'const struct pinctrl_ops' has no member named 'dt_free_map' 216 | .dt_free_map = pinctrl_utils_free_map, | ^~~~~~~~~~~ drivers/pinctrl/pinctrl-loongson2.c:216:35: error: excess elements in struct initializer [-Werror] 216 | .dt_free_map = pinctrl_utils_free_map, | ^~~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-loongson2.c:216:35: note: (near initialization for 'loongson2_pctrl_ops') drivers/pinctrl/pinctrl-loongson2.c:217:10: error: 'const struct pinctrl_ops' has no member named 'pin_dbg_show' 217 | .pin_dbg_show = loongson2_pin_dbg_show, | ^~~~~~~~~~~~ drivers/pinctrl/pinctrl-loongson2.c:217:35: error: excess elements in struct initializer [-Werror] 217 | .pin_dbg_show = loongson2_pin_dbg_show, | ^~~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-loongson2.c:217:35: note: (near initialization for 'loongson2_pctrl_ops') drivers/pinctrl/pinctrl-loongson2.c: In function 'loongson2_pmx_set_mux': drivers/pinctrl/pinctrl-loongson2.c:223:43: error: implicit declaration of function 'pinctrl_dev_get_drvdata'; did you mean 'dev_get_drvdata'? [-Werror=implicit-function-declaration] 223 | struct loongson2_pinctrl *pctrl = pinctrl_dev_get_drvdata(pcdev); | ^~~~~~~~~~~~~~~~~~~~~~~ | dev_get_drvdata drivers/pinctrl/pinctrl-loongson2.c:223:43: error: initialization of 'struct loongson2_pinctrl *' from 'int' makes pointer from integer without a cast [-Werror=int-conversion] In file included from include/linux/container_of.h:5, from include/linux/list.h:5, from include/linux/module.h:12, from drivers/pinctrl/pinctrl-loongson2.c:9: drivers/pinctrl/pinctrl-loongson2.c: In function 'loongson2_pinctrl_probe': include/linux/build_bug.h:16:51: error: bit-field '<anonymous>' width not an integer constant 16 | #define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); }))) | ^ include/linux/compiler.h:232:33: note: in expansion of macro 'BUILD_BUG_ON_ZERO' 232 | #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0])) | ^~~~~~~~~~~~~~~~~ include/linux/kernel.h:55:59: note: in expansion of macro '__must_be_array' 55 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) | ^~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-loongson2.c:294:35: note: in expansion of macro 'ARRAY_SIZE' 294 | pctrl->desc.npins = ARRAY_SIZE(loongson2_pctrl_pins); | ^~~~~~~~~~ drivers/pinctrl/pinctrl-loongson2.c:296:24: error: implicit declaration of function 'devm_pinctrl_register'; did you mean 'device_register'? [-Werror=implicit-function-declaration] 296 | pctrl->pcdev = devm_pinctrl_register(pctrl->dev, &pctrl->desc, pctrl); | ^~~~~~~~~~~~~~~~~~~~~ | device_register drivers/pinctrl/pinctrl-loongson2.c: At top level: drivers/pinctrl/pinctrl-loongson2.c:211:33: error: storage size of 'loongson2_pctrl_ops' isn't known 211 | static const struct pinctrl_ops loongson2_pctrl_ops = { | ^~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-loongson2.c:63:38: error: 'loongson2_pctrl_pins' defined but not used [-Werror=unused-variable] 63 | static const struct pinctrl_pin_desc loongson2_pctrl_pins[] = { | ^~~~~~~~~~~~~~~~~~~~ Caused by commit 6c2a0a800390 ("pinctrl: pinctrl-loongson2: add pinctrl driver support") I have used the pinctrl tree from next-20221108 for today. -- Cheers, Stephen Rothwell
Attachment:
pgpKLcAWHq439.pgp
Description: OpenPGP digital signature