[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202505141431.u1F01XNs-lkp@intel.com>
Date: Wed, 14 May 2025 14:26:16 +0800
From: kernel test robot <lkp@...el.com>
To: Alexander Stein <alexander.stein@...tq-group.com>,
Dong Aisheng <aisheng.dong@....com>,
Fabio Estevam <festevam@...il.com>, Shawn Guo <shawnguo@...nel.org>,
Jacky Bai <ping.bai@....com>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
NXP S32 Linux Team <s32@....com>,
Linus Walleij <linus.walleij@...aro.org>
Cc: llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev,
Alexander Stein <alexander.stein@...tq-group.com>,
Esben Haabendal <esben@...nix.com>, linux-gpio@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 1/1] pinctrl: freescale: Enable driver if platform is
enabled.
Hi Alexander,
kernel test robot noticed the following build errors:
[auto build test ERROR on linusw-pinctrl/devel]
[also build test ERROR on linusw-pinctrl/for-next linus/master v6.15-rc6 next-20250513]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Alexander-Stein/pinctrl-freescale-Enable-driver-if-platform-is-enabled/20250513-230259
base: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git devel
patch link: https://lore.kernel.org/r/20250513150010.600656-1-alexander.stein%40ew.tq-group.com
patch subject: [PATCH v2 1/1] pinctrl: freescale: Enable driver if platform is enabled.
config: i386-buildonly-randconfig-004-20250514 (https://download.01.org/0day-ci/archive/20250514/202505141431.u1F01XNs-lkp@intel.com/config)
compiler: clang version 20.1.2 (https://github.com/llvm/llvm-project 58df0ef89dd64126512e4ee27b4ac3fd8ddf6247)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250514/202505141431.u1F01XNs-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202505141431.u1F01XNs-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/pinctrl/freescale/pinctrl-imx.c:262:9: error: call to undeclared function 'pinmux_generic_get_function'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
262 | func = pinmux_generic_get_function(pctldev, selector);
| ^
drivers/pinctrl/freescale/pinctrl-imx.c:262:9: note: did you mean 'pinmux_generic_free_functions'?
drivers/pinctrl/freescale/../pinmux.h:178:20: note: 'pinmux_generic_free_functions' declared here
178 | static inline void pinmux_generic_free_functions(struct pinctrl_dev *pctldev)
| ^
>> drivers/pinctrl/freescale/pinctrl-imx.c:262:7: error: incompatible integer to pointer conversion assigning to 'struct function_desc *' from 'int' [-Wint-conversion]
262 | func = pinmux_generic_get_function(pctldev, selector);
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/pinctrl/freescale/pinctrl-imx.c:269:7: error: incomplete definition of type 'struct function_desc'
269 | func->func.name, grp->grp.name);
| ~~~~^
include/linux/dev_printk.h:171:49: note: expanded from macro 'dev_dbg'
171 | dev_no_printk(KERN_DEBUG, dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~~~
include/linux/dev_printk.h:139:35: note: expanded from macro 'dev_no_printk'
139 | _dev_printk(level, dev, fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
drivers/pinctrl/freescale/pinctrl-imx.c:248:9: note: forward declaration of 'struct function_desc'
248 | struct function_desc *func;
| ^
>> drivers/pinctrl/freescale/pinctrl-imx.c:289:25: error: use of undeclared identifier 'pinmux_generic_get_function_count'; did you mean 'pinmux_generic_free_functions'?
289 | .get_functions_count = pinmux_generic_get_function_count,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| pinmux_generic_free_functions
drivers/pinctrl/freescale/../pinmux.h:178:20: note: 'pinmux_generic_free_functions' declared here
178 | static inline void pinmux_generic_free_functions(struct pinctrl_dev *pctldev)
| ^
>> drivers/pinctrl/freescale/pinctrl-imx.c:290:23: error: use of undeclared identifier 'pinmux_generic_get_function_name'; did you mean 'pinmux_generic_free_functions'?
290 | .get_function_name = pinmux_generic_get_function_name,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| pinmux_generic_free_functions
drivers/pinctrl/freescale/../pinmux.h:178:20: note: 'pinmux_generic_free_functions' declared here
178 | static inline void pinmux_generic_free_functions(struct pinctrl_dev *pctldev)
| ^
>> drivers/pinctrl/freescale/pinctrl-imx.c:291:25: error: use of undeclared identifier 'pinmux_generic_get_function_groups'; did you mean 'pinmux_generic_free_functions'?
291 | .get_function_groups = pinmux_generic_get_function_groups,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| pinmux_generic_free_functions
drivers/pinctrl/freescale/../pinmux.h:178:20: note: 'pinmux_generic_free_functions' declared here
178 | static inline void pinmux_generic_free_functions(struct pinctrl_dev *pctldev)
| ^
>> drivers/pinctrl/freescale/pinctrl-imx.c:289:25: error: incompatible function pointer types initializing 'int (*)(struct pinctrl_dev *)' with an expression of type 'void (struct pinctrl_dev *)' [-Wincompatible-function-pointer-types]
289 | .get_functions_count = pinmux_generic_get_function_count,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/pinctrl/freescale/pinctrl-imx.c:290:23: error: incompatible function pointer types initializing 'const char *(*)(struct pinctrl_dev *, unsigned int)' with an expression of type 'void (struct pinctrl_dev *)' [-Wincompatible-function-pointer-types]
290 | .get_function_name = pinmux_generic_get_function_name,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/pinctrl/freescale/pinctrl-imx.c:291:25: error: incompatible function pointer types initializing 'int (*)(struct pinctrl_dev *, unsigned int, const char *const **, unsigned int *)' with an expression of type 'void (struct pinctrl_dev *)' [-Wincompatible-function-pointer-types]
291 | .get_function_groups = pinmux_generic_get_function_groups,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/freescale/pinctrl-imx.c:590:9: error: call to undeclared function 'pinmux_generic_get_function'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
590 | func = pinmux_generic_get_function(pctl, index);
| ^
drivers/pinctrl/freescale/pinctrl-imx.c:590:7: error: incompatible integer to pointer conversion assigning to 'struct function_desc *' from 'int' [-Wint-conversion]
590 | func = pinmux_generic_get_function(pctl, index);
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pinctrl/freescale/pinctrl-imx.c:595:6: error: incomplete definition of type 'struct function_desc'
595 | func->func.name = np->name;
| ~~~~^
drivers/pinctrl/freescale/pinctrl-imx.c:583:9: note: forward declaration of 'struct function_desc'
583 | struct function_desc *func;
| ^
drivers/pinctrl/freescale/pinctrl-imx.c:596:6: error: incomplete definition of type 'struct function_desc'
596 | func->func.ngroups = of_get_child_count(np);
| ~~~~^
drivers/pinctrl/freescale/pinctrl-imx.c:583:9: note: forward declaration of 'struct function_desc'
583 | struct function_desc *func;
| ^
drivers/pinctrl/freescale/pinctrl-imx.c:597:10: error: incomplete definition of type 'struct function_desc'
597 | if (func->func.ngroups == 0) {
| ~~~~^
drivers/pinctrl/freescale/pinctrl-imx.c:583:9: note: forward declaration of 'struct function_desc'
583 | struct function_desc *func;
| ^
drivers/pinctrl/freescale/pinctrl-imx.c:602:45: error: incomplete definition of type 'struct function_desc'
602 | group_names = devm_kcalloc(ipctl->dev, func->func.ngroups,
| ~~~~^
drivers/pinctrl/freescale/pinctrl-imx.c:583:9: note: forward declaration of 'struct function_desc'
583 | struct function_desc *func;
| ^
drivers/pinctrl/freescale/pinctrl-imx.c:603:20: error: incomplete definition of type 'struct function_desc'
603 | sizeof(*func->func.groups), GFP_KERNEL);
| ~~~~^
drivers/pinctrl/freescale/pinctrl-imx.c:583:9: note: forward declaration of 'struct function_desc'
583 | struct function_desc *func;
| ^
drivers/pinctrl/freescale/pinctrl-imx.c:609:6: error: incomplete definition of type 'struct function_desc'
609 | func->func.groups = group_names;
| ~~~~^
drivers/pinctrl/freescale/pinctrl-imx.c:583:9: note: forward declaration of 'struct function_desc'
583 | struct function_desc *func;
| ^
>> drivers/pinctrl/freescale/pinctrl-imx.c:675:45: error: invalid application of 'sizeof' to an incomplete type 'struct function_desc'
675 | function = devm_kzalloc(&pdev->dev, sizeof(*function),
| ^~~~~~~~~~~
drivers/pinctrl/freescale/pinctrl-imx.c:673:10: note: forward declaration of 'struct function_desc'
673 | struct function_desc *function;
| ^
>> drivers/pinctrl/freescale/pinctrl-imx.c:681:28: error: no member named 'pin_function_tree' in 'struct pinctrl_dev'
681 | radix_tree_insert(&pctl->pin_function_tree, i, function);
| ~~~~ ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for PINCTRL_IMX
Depends on [n]: PINCTRL [=y] && OF [=n]
Selected by [y]:
- PINCTRL_IMX_SCU [=y] && PINCTRL [=y] && (IMX_SCU [=y] || COMPILE_TEST [=y])
vim +/pinmux_generic_get_function +262 drivers/pinctrl/freescale/pinctrl-imx.c
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 242
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 243 static int imx_pmx_set(struct pinctrl_dev *pctldev, unsigned selector,
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 244 unsigned group)
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 245 {
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 246 struct imx_pinctrl *ipctl = pinctrl_dev_get_drvdata(pctldev);
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 247 const struct imx_pinctrl_soc_info *info = ipctl->info;
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 248 struct function_desc *func;
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 249 struct group_desc *grp;
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 250 struct imx_pin *pin;
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 251 unsigned int npins;
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 252 int i, err;
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 253
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 254 /*
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 255 * Configure the mux mode for each pin in the group for a specific
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 256 * function.
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 257 */
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 258 grp = pinctrl_generic_get_group(pctldev, group);
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 259 if (!grp)
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 260 return -EINVAL;
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 261
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 @262 func = pinmux_generic_get_function(pctldev, selector);
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 263 if (!func)
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 264 return -EINVAL;
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 265
390270f25b414fd drivers/pinctrl/freescale/pinctrl-imx.c Andy Shevchenko 2023-12-11 266 npins = grp->grp.npins;
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 267
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 268 dev_dbg(ipctl->dev, "enable function %s group %s\n",
f3e0473aa834f0b drivers/pinctrl/freescale/pinctrl-imx.c Andy Shevchenko 2024-05-30 @269 func->func.name, grp->grp.name);
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 270
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 271 for (i = 0; i < npins; i++) {
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 272 /*
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 273 * For IMX_USE_SCU case, we postpone the mux setting
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 274 * until config is set as we can set them together
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 275 * in one IPC call
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 276 */
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 277 pin = &((struct imx_pin *)(grp->data))[i];
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 278 if (!(info->flags & IMX_USE_SCU)) {
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 279 err = imx_pmx_set_one_pin_mmio(ipctl, pin);
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 280 if (err)
b96eea718bf697e drivers/pinctrl/freescale/pinctrl-imx.c A.s. Dong 2018-10-30 281 return err;
ae75ff814538400 drivers/pinctrl/pinctrl-imx.c Dong Aisheng 2012-04-27 282 }
ae75ff814538400 drivers/pinctrl/pinctrl-imx.c Dong Aisheng 2012-04-27 283 }
ae75ff814538400 drivers/pinctrl/pinctrl-imx.c Dong Aisheng 2012-04-27 284
ae75ff814538400 drivers/pinctrl/pinctrl-imx.c Dong Aisheng 2012-04-27 285 return 0;
ae75ff814538400 drivers/pinctrl/pinctrl-imx.c Dong Aisheng 2012-04-27 286 }
ae75ff814538400 drivers/pinctrl/pinctrl-imx.c Dong Aisheng 2012-04-27 287
3be6f65102a859d drivers/pinctrl/freescale/pinctrl-imx.c Dong Aisheng 2017-07-25 288 struct pinmux_ops imx_pmx_ops = {
3fd6d6ad73af905 drivers/pinctrl/freescale/pinctrl-imx.c Gary Bisson 2017-01-02 @289 .get_functions_count = pinmux_generic_get_function_count,
3fd6d6ad73af905 drivers/pinctrl/freescale/pinctrl-imx.c Gary Bisson 2017-01-02 @290 .get_function_name = pinmux_generic_get_function_name,
3fd6d6ad73af905 drivers/pinctrl/freescale/pinctrl-imx.c Gary Bisson 2017-01-02 @291 .get_function_groups = pinmux_generic_get_function_groups,
03e9f0cac5da6af drivers/pinctrl/pinctrl-imx.c Linus Walleij 2014-09-03 292 .set_mux = imx_pmx_set,
ae75ff814538400 drivers/pinctrl/pinctrl-imx.c Dong Aisheng 2012-04-27 293 };
ae75ff814538400 drivers/pinctrl/pinctrl-imx.c Dong Aisheng 2012-04-27 294
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists