All of lore.kernel.org
 help / color / mirror / Atom feed
* [linusw-pinctrl:ib-mux-pinctrl 5/5] drivers/pinctrl/pinctrl-generic.c:20:5: error: conflicting types for 'pinctrl_generic_to_map'; have 'int(struct pinctrl_dev *, struct device_node *, struct device_node *, struct pinctrl_map **, unsigned int *, unsigned int *, const char **, unsigned int, ...
@ 2026-04-07 12:33 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-04-07 12:33 UTC (permalink / raw)
  To: Frank Li; +Cc: oe-kbuild-all, linux-gpio, Linus Walleij

Hi Frank,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git ib-mux-pinctrl
head:   6ce042f025bd4c46f5d2fd37a048a516433b0b3d
commit: 6ce042f025bd4c46f5d2fd37a048a516433b0b3d [5/5] pinctrl: add generic board-level pinctrl driver using mux framework
config: um-randconfig-r073-20260407 (https://download.01.org/0day-ci/archive/20260407/202604072013.aI84l57L-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
smatch: v0.5.0-9004-gb810ac53
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260407/202604072013.aI84l57L-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202604072013.aI84l57L-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/pinctrl/pinctrl-generic.c:20:5: error: conflicting types for 'pinctrl_generic_to_map'; have 'int(struct pinctrl_dev *, struct device_node *, struct device_node *, struct pinctrl_map **, unsigned int *, unsigned int *, const char **, unsigned int,  const char **, unsigned int *, unsigned int)'
      20 | int pinctrl_generic_to_map(struct pinctrl_dev *pctldev, struct device_node *parent,
         |     ^~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/pinctrl/pinctrl-generic.c:16:
   drivers/pinctrl/pinconf.h:187:1: note: previous definition of 'pinctrl_generic_to_map' with type 'int(struct pinctrl_dev *, struct device_node *, struct device_node *, struct pinctrl_map **, unsigned int *, unsigned int *, const char **, unsigned int,  const char **, unsigned int *, void *)'
     187 | pinctrl_generic_to_map(struct pinctrl_dev *pctldev, struct device_node *parent,
         | ^~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/pinctrl-generic.c:129:5: error: redefinition of 'pinctrl_generic_pins_function_dt_node_to_map'
     129 | int pinctrl_generic_pins_function_dt_node_to_map(struct pinctrl_dev *pctldev,
         |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/pinconf.h:178:1: note: previous definition of 'pinctrl_generic_pins_function_dt_node_to_map' with type 'int(struct pinctrl_dev *, struct device_node *, struct pinctrl_map **, unsigned int *)'
     178 | pinctrl_generic_pins_function_dt_node_to_map(struct pinctrl_dev *pctldev,
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


vim +20 drivers/pinctrl/pinctrl-generic.c

43722575e5cdcc6 Conor Dooley 2026-01-20  19  
a26361256c774cc Frank Li     2026-03-27 @20  int pinctrl_generic_to_map(struct pinctrl_dev *pctldev, struct device_node *parent,
a26361256c774cc Frank Li     2026-03-27  21  			   struct device_node *np, struct pinctrl_map **maps,
a26361256c774cc Frank Li     2026-03-27  22  			   unsigned int *num_maps, unsigned int *num_reserved_maps,
a26361256c774cc Frank Li     2026-03-27  23  			   const char **group_names, unsigned int ngroups,
a26361256c774cc Frank Li     2026-03-27  24  			   const char **functions, unsigned int *pins,
a26361256c774cc Frank Li     2026-03-27  25  			   unsigned int npins)
43722575e5cdcc6 Conor Dooley 2026-01-20  26  {
43722575e5cdcc6 Conor Dooley 2026-01-20  27  	struct device *dev = pctldev->dev;
a26361256c774cc Frank Li     2026-03-27  28  	unsigned int num_configs;
43722575e5cdcc6 Conor Dooley 2026-01-20  29  	const char *group_name;
43722575e5cdcc6 Conor Dooley 2026-01-20  30  	unsigned long *configs;
a26361256c774cc Frank Li     2026-03-27  31  	int ret, reserve = 1;
43722575e5cdcc6 Conor Dooley 2026-01-20  32  
43722575e5cdcc6 Conor Dooley 2026-01-20  33  	group_name = devm_kasprintf(dev, GFP_KERNEL, "%pOFn.%pOFn", parent, np);
43722575e5cdcc6 Conor Dooley 2026-01-20  34  	if (!group_name)
43722575e5cdcc6 Conor Dooley 2026-01-20  35  		return -ENOMEM;
43722575e5cdcc6 Conor Dooley 2026-01-20  36  
43722575e5cdcc6 Conor Dooley 2026-01-20  37  	group_names[ngroups] = group_name;
43722575e5cdcc6 Conor Dooley 2026-01-20  38  
43722575e5cdcc6 Conor Dooley 2026-01-20  39  	ret = pinctrl_utils_reserve_map(pctldev, maps, num_reserved_maps, num_maps, reserve);
43722575e5cdcc6 Conor Dooley 2026-01-20  40  	if (ret)
43722575e5cdcc6 Conor Dooley 2026-01-20  41  		return ret;
43722575e5cdcc6 Conor Dooley 2026-01-20  42  
43722575e5cdcc6 Conor Dooley 2026-01-20  43  	ret = pinctrl_utils_add_map_mux(pctldev, maps, num_reserved_maps, num_maps, group_name,
43722575e5cdcc6 Conor Dooley 2026-01-20  44  					parent->name);
43722575e5cdcc6 Conor Dooley 2026-01-20  45  	if (ret < 0)
43722575e5cdcc6 Conor Dooley 2026-01-20  46  		return ret;
43722575e5cdcc6 Conor Dooley 2026-01-20  47  
43722575e5cdcc6 Conor Dooley 2026-01-20  48  	ret = pinctrl_generic_add_group(pctldev, group_name, pins, npins, functions);
43722575e5cdcc6 Conor Dooley 2026-01-20  49  	if (ret < 0)
43722575e5cdcc6 Conor Dooley 2026-01-20  50  		return dev_err_probe(dev, ret, "failed to add group %s: %d\n",
43722575e5cdcc6 Conor Dooley 2026-01-20  51  				     group_name, ret);
43722575e5cdcc6 Conor Dooley 2026-01-20  52  
43722575e5cdcc6 Conor Dooley 2026-01-20  53  	ret = pinconf_generic_parse_dt_config(np, pctldev, &configs, &num_configs);
43722575e5cdcc6 Conor Dooley 2026-01-20  54  	if (ret)
43722575e5cdcc6 Conor Dooley 2026-01-20  55  		return dev_err_probe(dev, ret, "failed to parse pin config of group %s\n",
43722575e5cdcc6 Conor Dooley 2026-01-20  56  			group_name);
43722575e5cdcc6 Conor Dooley 2026-01-20  57  
43722575e5cdcc6 Conor Dooley 2026-01-20  58  	if (num_configs == 0)
43722575e5cdcc6 Conor Dooley 2026-01-20  59  		return 0;
43722575e5cdcc6 Conor Dooley 2026-01-20  60  
43722575e5cdcc6 Conor Dooley 2026-01-20  61  	ret = pinctrl_utils_reserve_map(pctldev, maps, num_reserved_maps, num_maps, reserve);
43722575e5cdcc6 Conor Dooley 2026-01-20  62  	if (ret)
43722575e5cdcc6 Conor Dooley 2026-01-20  63  		return ret;
43722575e5cdcc6 Conor Dooley 2026-01-20  64  
43722575e5cdcc6 Conor Dooley 2026-01-20  65  	ret = pinctrl_utils_add_map_configs(pctldev, maps, num_reserved_maps, num_maps, group_name,
43722575e5cdcc6 Conor Dooley 2026-01-20  66  					    configs,
43722575e5cdcc6 Conor Dooley 2026-01-20  67  			num_configs, PIN_MAP_TYPE_CONFIGS_GROUP);
43722575e5cdcc6 Conor Dooley 2026-01-20  68  	kfree(configs);
43722575e5cdcc6 Conor Dooley 2026-01-20  69  	if (ret)
43722575e5cdcc6 Conor Dooley 2026-01-20  70  		return ret;
43722575e5cdcc6 Conor Dooley 2026-01-20  71  
43722575e5cdcc6 Conor Dooley 2026-01-20  72  	return 0;
43722575e5cdcc6 Conor Dooley 2026-01-20  73  };
43722575e5cdcc6 Conor Dooley 2026-01-20  74  

:::::: The code at line 20 was first introduced by commit
:::::: a26361256c774cc1f36979ab440cb9d83a9f8e48 pinctrl: extract pinctrl_generic_to_map() from pinctrl_generic_pins_function_dt_node_to_map()

:::::: TO: Frank Li <Frank.Li@nxp.com>
:::::: CC: Linus Walleij <linusw@kernel.org>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-04-07 12:33 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-07 12:33 [linusw-pinctrl:ib-mux-pinctrl 5/5] drivers/pinctrl/pinctrl-generic.c:20:5: error: conflicting types for 'pinctrl_generic_to_map'; have 'int(struct pinctrl_dev *, struct device_node *, struct device_node *, struct pinctrl_map **, unsigned int *, unsigned int *, const char **, unsigned int, kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.