tree: https://kernel.googlesource.com/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git for-next head: 35d8510ea3ada735ad0564cddffbc12434a4ec3d commit: 35d8510ea3ada735ad0564cddffbc12434a4ec3d [80/80] pinctrl: aspeed: Fix missed include config: arm-allmodconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 35d8510ea3ada735ad0564cddffbc12434a4ec3d # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=arm If you fix the issue, kindly add following tag Reported-by: kbuild test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): In file included from drivers/pinctrl/aspeed/pinctrl-aspeed.c:15:0: drivers/pinctrl/aspeed/pinctrl-aspeed.h:282:8: error: redefinition of 'struct aspeed_sig_desc' struct aspeed_sig_desc { ^~~~~~~~~~~~~~~ In file included from drivers/pinctrl/aspeed/pinctrl-aspeed.h:19:0, from drivers/pinctrl/aspeed/pinctrl-aspeed.c:15: drivers/pinctrl/aspeed/pinmux-aspeed.h:441:8: note: originally defined here struct aspeed_sig_desc { ^~~~~~~~~~~~~~~ In file included from drivers/pinctrl/aspeed/pinctrl-aspeed.c:15:0: drivers/pinctrl/aspeed/pinctrl-aspeed.h:303:8: error: redefinition of 'struct aspeed_sig_expr' struct aspeed_sig_expr { ^~~~~~~~~~~~~~~ In file included from drivers/pinctrl/aspeed/pinctrl-aspeed.h:19:0, from drivers/pinctrl/aspeed/pinctrl-aspeed.c:15: drivers/pinctrl/aspeed/pinmux-aspeed.h:462:8: note: originally defined here struct aspeed_sig_expr { ^~~~~~~~~~~~~~~ In file included from drivers/pinctrl/aspeed/pinctrl-aspeed.c:15:0: drivers/pinctrl/aspeed/pinctrl-aspeed.h:320:8: error: redefinition of 'struct aspeed_pin_desc' struct aspeed_pin_desc { ^~~~~~~~~~~~~~~ In file included from drivers/pinctrl/aspeed/pinctrl-aspeed.h:19:0, from drivers/pinctrl/aspeed/pinctrl-aspeed.c:15: drivers/pinctrl/aspeed/pinmux-aspeed.h:479:8: note: originally defined here struct aspeed_pin_desc { ^~~~~~~~~~~~~~~ drivers/pinctrl/aspeed/pinctrl-aspeed.c: In function 'aspeed_sig_expr_enable': >> drivers/pinctrl/aspeed/pinctrl-aspeed.c:83:34: error: passing argument 2 of 'aspeed_sig_expr_eval' from incompatible pointer type [-Werror=incompatible-pointer-types] ret = aspeed_sig_expr_eval(ctx, expr, true); ^~~~ In file included from drivers/pinctrl/aspeed/pinctrl-aspeed.h:19:0, from drivers/pinctrl/aspeed/pinctrl-aspeed.c:15: drivers/pinctrl/aspeed/pinmux-aspeed.h:724:5: note: expected 'const struct aspeed_sig_expr *' but argument is of type 'const struct aspeed_sig_expr *' int aspeed_sig_expr_eval(const struct aspeed_pinmux_data *ctx, ^~~~~~~~~~~~~~~~~~~~ >> drivers/pinctrl/aspeed/pinctrl-aspeed.c:88:35: error: passing argument 2 of 'aspeed_sig_expr_set' from incompatible pointer type [-Werror=incompatible-pointer-types] return aspeed_sig_expr_set(ctx, expr, true); ^~~~ In file included from drivers/pinctrl/aspeed/pinctrl-aspeed.h:19:0, from drivers/pinctrl/aspeed/pinctrl-aspeed.c:15: drivers/pinctrl/aspeed/pinmux-aspeed.h:728:19: note: expected 'const struct aspeed_sig_expr *' but argument is of type 'const struct aspeed_sig_expr *' static inline int aspeed_sig_expr_set(const struct aspeed_pinmux_data *ctx, ^~~~~~~~~~~~~~~~~~~ drivers/pinctrl/aspeed/pinctrl-aspeed.c: In function 'aspeed_sig_expr_disable': drivers/pinctrl/aspeed/pinctrl-aspeed.c:98:34: error: passing argument 2 of 'aspeed_sig_expr_eval' from incompatible pointer type [-Werror=incompatible-pointer-types] ret = aspeed_sig_expr_eval(ctx, expr, true); ^~~~ In file included from drivers/pinctrl/aspeed/pinctrl-aspeed.h:19:0, from drivers/pinctrl/aspeed/pinctrl-aspeed.c:15: drivers/pinctrl/aspeed/pinmux-aspeed.h:724:5: note: expected 'const struct aspeed_sig_expr *' but argument is of type 'const struct aspeed_sig_expr *' int aspeed_sig_expr_eval(const struct aspeed_pinmux_data *ctx, ^~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/aspeed/pinctrl-aspeed.c:103:35: error: passing argument 2 of 'aspeed_sig_expr_set' from incompatible pointer type [-Werror=incompatible-pointer-types] return aspeed_sig_expr_set(ctx, expr, false); ^~~~ In file included from drivers/pinctrl/aspeed/pinctrl-aspeed.h:19:0, from drivers/pinctrl/aspeed/pinctrl-aspeed.c:15: drivers/pinctrl/aspeed/pinmux-aspeed.h:728:19: note: expected 'const struct aspeed_sig_expr *' but argument is of type 'const struct aspeed_sig_expr *' static inline int aspeed_sig_expr_set(const struct aspeed_pinmux_data *ctx, ^~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors -- In file included from drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c:26:0: drivers/pinctrl/aspeed/pinctrl-aspeed.h:282:8: error: redefinition of 'struct aspeed_sig_desc' struct aspeed_sig_desc { ^~~~~~~~~~~~~~~ In file included from drivers/pinctrl/aspeed/pinctrl-aspeed.h:19:0, from drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c:26: drivers/pinctrl/aspeed/pinmux-aspeed.h:441:8: note: originally defined here struct aspeed_sig_desc { ^~~~~~~~~~~~~~~ In file included from drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c:26:0: drivers/pinctrl/aspeed/pinctrl-aspeed.h:303:8: error: redefinition of 'struct aspeed_sig_expr' struct aspeed_sig_expr { ^~~~~~~~~~~~~~~ In file included from drivers/pinctrl/aspeed/pinctrl-aspeed.h:19:0, from drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c:26: drivers/pinctrl/aspeed/pinmux-aspeed.h:462:8: note: originally defined here struct aspeed_sig_expr { ^~~~~~~~~~~~~~~ In file included from drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c:26:0: drivers/pinctrl/aspeed/pinctrl-aspeed.h:320:8: error: redefinition of 'struct aspeed_pin_desc' struct aspeed_pin_desc { ^~~~~~~~~~~~~~~ In file included from drivers/pinctrl/aspeed/pinctrl-aspeed.h:19:0, from drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c:26: drivers/pinctrl/aspeed/pinmux-aspeed.h:479:8: note: originally defined here struct aspeed_pin_desc { ^~~~~~~~~~~~~~~ drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c: In function 'aspeed_g5_sig_expr_set': >> drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c:2582:34: error: passing argument 2 of 'aspeed_sig_expr_eval' from incompatible pointer type [-Werror=incompatible-pointer-types] ret = aspeed_sig_expr_eval(ctx, expr, enable); ^~~~ In file included from drivers/pinctrl/aspeed/pinctrl-aspeed.h:19:0, from drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c:26: drivers/pinctrl/aspeed/pinmux-aspeed.h:724:5: note: expected 'const struct aspeed_sig_expr *' but argument is of type 'const struct aspeed_sig_expr *' int aspeed_sig_expr_eval(const struct aspeed_pinmux_data *ctx, ^~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c: At top level: >> drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c:2593:9: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types] .set = aspeed_g5_sig_expr_set, ^~~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c:2593:9: note: (near initialization for 'aspeed_g5_ops.set') cc1: some warnings being treated as errors vim +/aspeed_sig_expr_eval +83 drivers/pinctrl/aspeed/pinctrl-aspeed.c 4d3d0e427 Andrew Jeffery 2016-08-30 @15 #include "pinctrl-aspeed.h" 4d3d0e427 Andrew Jeffery 2016-08-30 16 4d3d0e427 Andrew Jeffery 2016-08-30 17 int aspeed_pinctrl_get_groups_count(struct pinctrl_dev *pctldev) 4d3d0e427 Andrew Jeffery 2016-08-30 18 { 4d3d0e427 Andrew Jeffery 2016-08-30 19 struct aspeed_pinctrl_data *pdata = pinctrl_dev_get_drvdata(pctldev); 4d3d0e427 Andrew Jeffery 2016-08-30 20 efa562398 Andrew Jeffery 2019-06-28 21 return pdata->pinmux.ngroups; 4d3d0e427 Andrew Jeffery 2016-08-30 22 } 4d3d0e427 Andrew Jeffery 2016-08-30 23 4d3d0e427 Andrew Jeffery 2016-08-30 24 const char *aspeed_pinctrl_get_group_name(struct pinctrl_dev *pctldev, 4d3d0e427 Andrew Jeffery 2016-08-30 25 unsigned int group) 4d3d0e427 Andrew Jeffery 2016-08-30 26 { 4d3d0e427 Andrew Jeffery 2016-08-30 27 struct aspeed_pinctrl_data *pdata = pinctrl_dev_get_drvdata(pctldev); 4d3d0e427 Andrew Jeffery 2016-08-30 28 efa562398 Andrew Jeffery 2019-06-28 29 return pdata->pinmux.groups[group].name; 4d3d0e427 Andrew Jeffery 2016-08-30 30 } 4d3d0e427 Andrew Jeffery 2016-08-30 31 4d3d0e427 Andrew Jeffery 2016-08-30 32 int aspeed_pinctrl_get_group_pins(struct pinctrl_dev *pctldev, 4d3d0e427 Andrew Jeffery 2016-08-30 33 unsigned int group, const unsigned int **pins, 4d3d0e427 Andrew Jeffery 2016-08-30 34 unsigned int *npins) 4d3d0e427 Andrew Jeffery 2016-08-30 35 { 4d3d0e427 Andrew Jeffery 2016-08-30 36 struct aspeed_pinctrl_data *pdata = pinctrl_dev_get_drvdata(pctldev); 4d3d0e427 Andrew Jeffery 2016-08-30 37 efa562398 Andrew Jeffery 2019-06-28 38 *pins = &pdata->pinmux.groups[group].pins[0]; efa562398 Andrew Jeffery 2019-06-28 39 *npins = pdata->pinmux.groups[group].npins; 4d3d0e427 Andrew Jeffery 2016-08-30 40 4d3d0e427 Andrew Jeffery 2016-08-30 41 return 0; 4d3d0e427 Andrew Jeffery 2016-08-30 42 } 4d3d0e427 Andrew Jeffery 2016-08-30 43 4d3d0e427 Andrew Jeffery 2016-08-30 44 void aspeed_pinctrl_pin_dbg_show(struct pinctrl_dev *pctldev, 4d3d0e427 Andrew Jeffery 2016-08-30 45 struct seq_file *s, unsigned int offset) 4d3d0e427 Andrew Jeffery 2016-08-30 46 { 4d3d0e427 Andrew Jeffery 2016-08-30 47 seq_printf(s, " %s", dev_name(pctldev->dev)); 4d3d0e427 Andrew Jeffery 2016-08-30 48 } 4d3d0e427 Andrew Jeffery 2016-08-30 49 4d3d0e427 Andrew Jeffery 2016-08-30 50 int aspeed_pinmux_get_fn_count(struct pinctrl_dev *pctldev) 4d3d0e427 Andrew Jeffery 2016-08-30 51 { 4d3d0e427 Andrew Jeffery 2016-08-30 52 struct aspeed_pinctrl_data *pdata = pinctrl_dev_get_drvdata(pctldev); 4d3d0e427 Andrew Jeffery 2016-08-30 53 efa562398 Andrew Jeffery 2019-06-28 54 return pdata->pinmux.nfunctions; 4d3d0e427 Andrew Jeffery 2016-08-30 55 } 4d3d0e427 Andrew Jeffery 2016-08-30 56 4d3d0e427 Andrew Jeffery 2016-08-30 57 const char *aspeed_pinmux_get_fn_name(struct pinctrl_dev *pctldev, 4d3d0e427 Andrew Jeffery 2016-08-30 58 unsigned int function) 4d3d0e427 Andrew Jeffery 2016-08-30 59 { 4d3d0e427 Andrew Jeffery 2016-08-30 60 struct aspeed_pinctrl_data *pdata = pinctrl_dev_get_drvdata(pctldev); 4d3d0e427 Andrew Jeffery 2016-08-30 61 efa562398 Andrew Jeffery 2019-06-28 62 return pdata->pinmux.functions[function].name; 4d3d0e427 Andrew Jeffery 2016-08-30 63 } 4d3d0e427 Andrew Jeffery 2016-08-30 64 4d3d0e427 Andrew Jeffery 2016-08-30 65 int aspeed_pinmux_get_fn_groups(struct pinctrl_dev *pctldev, 4d3d0e427 Andrew Jeffery 2016-08-30 66 unsigned int function, 4d3d0e427 Andrew Jeffery 2016-08-30 67 const char * const **groups, 4d3d0e427 Andrew Jeffery 2016-08-30 68 unsigned int * const num_groups) 4d3d0e427 Andrew Jeffery 2016-08-30 69 { 4d3d0e427 Andrew Jeffery 2016-08-30 70 struct aspeed_pinctrl_data *pdata = pinctrl_dev_get_drvdata(pctldev); 4d3d0e427 Andrew Jeffery 2016-08-30 71 efa562398 Andrew Jeffery 2019-06-28 72 *groups = pdata->pinmux.functions[function].groups; efa562398 Andrew Jeffery 2019-06-28 73 *num_groups = pdata->pinmux.functions[function].ngroups; 4d3d0e427 Andrew Jeffery 2016-08-30 74 4d3d0e427 Andrew Jeffery 2016-08-30 75 return 0; 4d3d0e427 Andrew Jeffery 2016-08-30 76 } 4d3d0e427 Andrew Jeffery 2016-08-30 77 efa562398 Andrew Jeffery 2019-06-28 78 static int aspeed_sig_expr_enable(const struct aspeed_pinmux_data *ctx, efa562398 Andrew Jeffery 2019-06-28 79 const struct aspeed_sig_expr *expr) 4d3d0e427 Andrew Jeffery 2016-08-30 80 { 7d29ed88a Andrew Jeffery 2016-12-20 81 int ret; 4d3d0e427 Andrew Jeffery 2016-08-30 82 efa562398 Andrew Jeffery 2019-06-28 @83 ret = aspeed_sig_expr_eval(ctx, expr, true); 7d29ed88a Andrew Jeffery 2016-12-20 84 if (ret < 0) 7d29ed88a Andrew Jeffery 2016-12-20 85 return ret; 7d29ed88a Andrew Jeffery 2016-12-20 86 7d29ed88a Andrew Jeffery 2016-12-20 87 if (!ret) efa562398 Andrew Jeffery 2019-06-28 @88 return aspeed_sig_expr_set(ctx, expr, true); 7d29ed88a Andrew Jeffery 2016-12-20 89 7d29ed88a Andrew Jeffery 2016-12-20 90 return 0; 4d3d0e427 Andrew Jeffery 2016-08-30 91 } 4d3d0e427 Andrew Jeffery 2016-08-30 92 :::::: The code at line 83 was first introduced by commit :::::: efa5623981b72f6b5f95933d1c36ed2518c2ee4e pinctrl: aspeed: Split out pinmux from general pinctrl :::::: TO: Andrew Jeffery <andrew@xxxxxxxx> :::::: CC: Linus Walleij <linus.walleij@xxxxxxxxxx> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip