tree:
https://android.googlesource.com/kernel/goldfish android-5.4
head: 33f6768a35188c80518123ee75637015d01b7f32
commit: 6e7f3a3fda62f5e6be8e478f0101164f5936251c [2747/9999] ANDROID: sound: Add hikey960
i2s audio driver
config: x86_64-randconfig-r032-20200710 (attached as .config)
compiler: clang version 11.0.0 (
https://github.com/llvm/llvm-project
02946de3802d3bc65bc9f2eb9b8d4969b5a7add8)
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
git checkout 6e7f3a3fda62f5e6be8e478f0101164f5936251c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
> sound/soc/hisilicon/hi3660-i2s.c:377:15: error: implicit
declaration of function 'devm_pinctrl_get'
[-Werror,-Wimplicit-function-declaration]
i2s->pctrl =
devm_pinctrl_get(dev);
^
sound/soc/hisilicon/hi3660-i2s.c:377:15: note: did you mean 'of_pinctrl_get'?
include/linux/pinctrl/pinctrl.h:193:21: note: 'of_pinctrl_get' declared here
struct pinctrl_dev *of_pinctrl_get(struct device_node *np)
^
> sound/soc/hisilicon/hi3660-i2s.c:377:13: warning: incompatible
integer to pointer conversion assigning to 'struct pinctrl *' from 'int'
[-Wint-conversion]
i2s->pctrl = devm_pinctrl_get(dev);
^ ~~~~~~~~~~~~~~~~~~~~~
> sound/soc/hisilicon/hi3660-i2s.c:384:21: error: implicit
declaration of function 'pinctrl_lookup_state'
[-Werror,-Wimplicit-function-declaration]
i2s->pin_default =
pinctrl_lookup_state(i2s->pctrl,
^
> sound/soc/hisilicon/hi3660-i2s.c:384:19: warning: incompatible
integer to pointer conversion assigning to 'struct pinctrl_state *' from
'int' [-Wint-conversion]
i2s->pin_default =
pinctrl_lookup_state(i2s->pctrl,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> sound/soc/hisilicon/hi3660-i2s.c:394:6: error: implicit
declaration of function 'pinctrl_select_state'
[-Werror,-Wimplicit-function-declaration]
if
(pinctrl_select_state(i2s->pctrl, i2s->pin_default)) {
^
sound/soc/hisilicon/hi3660-i2s.c:394:6: note: did you mean
'pinctrl_lookup_state'?
sound/soc/hisilicon/hi3660-i2s.c:384:21: note: 'pinctrl_lookup_state' declared
here
i2s->pin_default = pinctrl_lookup_state(i2s->pctrl,
^
> sound/soc/hisilicon/hi3660-i2s.c:422:2: error: implicit
declaration of function 'pinctrl_put' [-Werror,-Wimplicit-function-declaration]
pinctrl_put(i2s->pctrl);
^
2 warnings and 4 errors generated.
vim +/devm_pinctrl_get +377 sound/soc/hisilicon/hi3660-i2s.c
332
333 static int hi3660_i2s_probe(struct platform_device *pdev)
334 {
335 struct device *dev = &pdev->dev;
336 struct hi3660_i2s *i2s;
337 struct resource *res;
338 int ret;
339
340 i2s = devm_kzalloc(dev, sizeof(*i2s), GFP_KERNEL);
341 if (!i2s)
342 return -ENOMEM;
343
344 i2s->dev = dev;
345 spin_lock_init(&i2s->lock);
346
347 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
348 if (!res) {
349 ret = -ENODEV;
350 return ret;
351 }
352 i2s->base_phys = (phys_addr_t)res->start;
353
354 i2s->dai = dai_init;
355 dev_set_drvdata(&pdev->dev, i2s);
356
357 i2s->base = devm_ioremap_resource(dev, res);
358 if (IS_ERR(i2s->base)) {
359 dev_err(&pdev->dev, "ioremap failed\n");
360 ret = PTR_ERR(i2s->base);
361 return ret;
362 }
363
364 res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
365 if (!res) {
366 ret = -ENODEV;
367 return ret;
368 }
369 i2s->base_syscon = devm_ioremap(dev, res->start, resource_size(res));
370 if (IS_ERR(i2s->base_syscon)) {
371 dev_err(&pdev->dev, "ioremap failed\n");
372 ret = PTR_ERR(i2s->base_syscon);
373 return ret;
374 }
375
376 /* i2s iomux config */
377 i2s->pctrl = devm_pinctrl_get(dev);
378 if
(IS_ERR(i2s->pctrl)) {
379 dev_err(dev, "could not get pinctrl\n");
380 ret = -EIO;
381 return ret;
382 }
383
384 i2s->pin_default = pinctrl_lookup_state(i2s->pctrl,
385 PINCTRL_STATE_DEFAULT);
386 if (IS_ERR(i2s->pin_default)) {
387 dev_err(dev,
388 "could not get default state (%li)\n",
389 PTR_ERR(i2s->pin_default));
390 ret = -EIO;
391 return ret;
392 }
393
394 if (pinctrl_select_state(i2s->pctrl, i2s->pin_default)) {
395 dev_err(dev, "could not set pins to default state\n");
396 ret = -EIO;
397 return ret;
398 }
399
400 ret = devm_snd_dmaengine_pcm_register(&pdev->dev,
401 &dmaengine_pcm_config, 0);
402 if (ret)
403 return ret;
404
405 ret = snd_soc_register_component(&pdev->dev, &component_driver,
406 &i2s->dai, 1);
407 if (ret) {
408 dev_err(&pdev->dev, "Failed to register dai\n");
409 return ret;
410 }
411
412 return 0;
413 }
414
415 static int hi3660_i2s_remove(struct platform_device *pdev)
416 {
417 struct hi3660_i2s *i2s = dev_get_drvdata(&pdev->dev);
418
419 snd_soc_unregister_component(&pdev->dev);
420 dev_set_drvdata(&pdev->dev, NULL);
421
422 pinctrl_put(i2s->pctrl);
423
424 return 0;
425 }
426
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org