[pinctrl:for-next 80/80] drivers/pinctrl/aspeed/pinctrl-aspeed.c:83:34: error: passing argument 2 of 'aspeed_sig_expr_eval' from incompatible pointer type

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux