[PATCH v2 2/5] pinctrl: pinconf-generic: Add API for pinmux propertity in DTS file
kernel test robot
lkp at intel.com
Thu Dec 26 02:15:02 PST 2024
Hi Xianwei,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 4de5110762b94b9978fb8182a568572fb2194f8b]
url: https://github.com/intel-lab-lkp/linux/commits/Xianwei-Zhao-via-B4-Relay/dt-bindings-pinctrl-Add-support-for-Amlogic-SoCs/20241226-155844
base: 4de5110762b94b9978fb8182a568572fb2194f8b
patch link: https://lore.kernel.org/r/20241226-amlogic-pinctrl-v2-2-cdae42a67b76%40amlogic.com
patch subject: [PATCH v2 2/5] pinctrl: pinconf-generic: Add API for pinmux propertity in DTS file
config: arc-randconfig-001-20241226 (https://download.01.org/0day-ci/archive/20241226/202412261752.6HK0iJXu-lkp@intel.com/config)
compiler: arceb-elf-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241226/202412261752.6HK0iJXu-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 at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412261752.6HK0iJXu-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/pinctrl/pinconf-generic.c:250: warning: Function parameter or struct member 'dev' not described in 'pinconf_generic_parse_dt_pinmux'
>> drivers/pinctrl/pinconf-generic.c:250: warning: Excess function parameter 'pctldev' description in 'pinconf_generic_parse_dt_pinmux'
vim +250 drivers/pinctrl/pinconf-generic.c
235
236 /**
237 * pinconf_generic_parse_dt_pinmux()
238 * parse the pinmux properties into generic pin mux values.
239 * @np: node containing the pinmux properties
240 * @pctldev: pincontrol device
241 * @pid: array with pin identity entries
242 * @pmux: array with pin mux value entries
243 * @npins: number of pins
244 *
245 * pinmux propertity: mux value [0,7]bits and pin identity [8,31]bits.
246 */
247 int pinconf_generic_parse_dt_pinmux(struct device_node *np, struct device *dev,
248 unsigned int **pid, unsigned int **pmux,
249 unsigned int *npins)
> 250 {
251 unsigned int *pid_t;
252 unsigned int *pmux_t;
253 struct property *prop;
254 unsigned int npins_t, i;
255 u32 value;
256 int ret;
257
258 prop = of_find_property(np, "pinmux", NULL);
259 if (!prop) {
260 dev_info(dev, "Missing pinmux property\n");
261 return -ENOENT;
262 }
263
264 if (!pid || !pmux || !npins) {
265 dev_err(dev, "paramers error\n");
266 return -EINVAL;
267 }
268
269 npins_t = prop->length / sizeof(u32);
270 pid_t = devm_kcalloc(dev, npins_t, sizeof(*pid_t), GFP_KERNEL);
271 pmux_t = devm_kcalloc(dev, npins_t, sizeof(*pmux_t), GFP_KERNEL);
272 if (!pid_t || !pmux_t) {
273 dev_err(dev, "kalloc memory fail\n");
274 return -ENOMEM;
275 }
276 for (i = 0; i < npins_t; i++) {
277 ret = of_property_read_u32_index(np, "pinmux", i, &value);
278 if (ret) {
279 dev_err(dev, "get pinmux value fail\n");
280 goto exit;
281 }
282 pmux_t[i] = value & 0xff;
283 pid_t[i] = (value >> 8) & 0xffffff;
284 }
285 *pid = pid_t;
286 *pmux = pmux_t;
287 *npins = npins_t;
288
289 return 0;
290 exit:
291 devm_kfree(dev, pid_t);
292 devm_kfree(dev, pmux_t);
293 return ret;
294 }
295 EXPORT_SYMBOL_GPL(pinconf_generic_parse_dt_pinmux);
296
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
More information about the linux-arm-kernel
mailing list