Linux GPIO subsystem development
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Frank Li <Frank.Li@nxp.com>
Cc: oe-kbuild-all@lists.linux.dev, linux-gpio@vger.kernel.org,
	Linus Walleij <linusw@kernel.org>
Subject: [linusw-pinctrl:ib-mux-pinctrl 5/6] 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, ...
Date: Wed, 13 May 2026 04:13:30 +0800	[thread overview]
Message-ID: <202605130440.GUAAk0kl-lkp@intel.com> (raw)

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:   d8074fd57a0231457e580c1f6cd33f089f09fd12
commit: 34acc5a8adfb76f2de63c8b8317397fb72b0aec8 [5/6] pinctrl: add generic board-level pinctrl driver using mux framework
config: sh-randconfig-r131-20260513 (https://download.01.org/0day-ci/archive/20260513/202605130440.GUAAk0kl-lkp@intel.com/config)
compiler: sh4-linux-gcc (GCC) 15.2.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260513/202605130440.GUAAk0kl-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/202605130440.GUAAk0kl-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:193: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 *)'
     193 | pinctrl_generic_to_map(struct pinctrl_dev *pctldev, struct device_node *parent,
         | ^~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/pinctrl-generic.c:130:5: error: redefinition of 'pinctrl_generic_pins_function_dt_node_to_map'
     130 | int pinctrl_generic_pins_function_dt_node_to_map(struct pinctrl_dev *pctldev,
         |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/pinctrl/pinconf.h:184: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 *)'
     184 | pinctrl_generic_pins_function_dt_node_to_map(struct pinctrl_dev *pctldev,
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

sparse warnings: (new ones prefixed by >>)
>> drivers/pinctrl/pinctrl-generic-mux.c:59:65: sparse: sparse: Using plain integer as NULL pointer

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

43722575e5cdcc6 Conor Dooley 2026-01-20  19  
aaaf31be0426031 Frank Li     2026-05-04 @20  int pinctrl_generic_to_map(struct pinctrl_dev *pctldev, struct device_node *parent,
aaaf31be0426031 Frank Li     2026-05-04  21  			   struct device_node *np, struct pinctrl_map **maps,
aaaf31be0426031 Frank Li     2026-05-04  22  			   unsigned int *num_maps, unsigned int *num_reserved_maps,
aaaf31be0426031 Frank Li     2026-05-04  23  			   const char **group_names, unsigned int ngroups,
aaaf31be0426031 Frank Li     2026-05-04  24  			   const char **functions, unsigned int *pins,
aaaf31be0426031 Frank Li     2026-05-04  25  			   unsigned int npins)
43722575e5cdcc6 Conor Dooley 2026-01-20  26  {
43722575e5cdcc6 Conor Dooley 2026-01-20  27  	struct device *dev = pctldev->dev;
aaaf31be0426031 Frank Li     2026-05-04  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;
aaaf31be0426031 Frank Li     2026-05-04  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  };
aaaf31be0426031 Frank Li     2026-05-04  74  EXPORT_SYMBOL_GPL(pinctrl_generic_to_map);
aaaf31be0426031 Frank Li     2026-05-04  75  

:::::: The code at line 20 was first introduced by commit
:::::: aaaf31be04260316036f50a05b7d015c0d36b55a 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

                 reply	other threads:[~2026-05-12 20:14 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202605130440.GUAAk0kl-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=Frank.Li@nxp.com \
    --cc=linusw@kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox