drivers/media/platform/cadence/cdns-csi2tx.c:477:11: error: implicit declaration of function 'kzalloc'; did you mean 'vzalloc'?

From: kbuild test robot
Date: Thu Jun 21 2018 - 04:39:08 EST


Hi Maxime,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 1abd8a8f39cd9a2925149000056494523c85643a
commit: 6f684d4fcce5eddd7e216a18975fb798d11a83dd media: v4l: cadence: Add Cadence MIPI-CSI2 TX driver
date: 5 weeks ago
config: x86_64-randconfig-s4-06211558 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
git checkout 6f684d4fcce5eddd7e216a18975fb798d11a83dd
# save the attached .config to linux build tree
make ARCH=x86_64

All errors (new ones prefixed by >>):

drivers/media/platform/cadence/cdns-csi2tx.c: In function 'csi2tx_probe':
>> drivers/media/platform/cadence/cdns-csi2tx.c:477:11: error: implicit declaration of function 'kzalloc'; did you mean 'vzalloc'? [-Werror=implicit-function-declaration]
csi2tx = kzalloc(sizeof(*csi2tx), GFP_KERNEL);
^~~~~~~
vzalloc
drivers/media/platform/cadence/cdns-csi2tx.c:477:9: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
csi2tx = kzalloc(sizeof(*csi2tx), GFP_KERNEL);
^
>> drivers/media/platform/cadence/cdns-csi2tx.c:531:2: error: implicit declaration of function 'kfree'; did you mean 'vfree'? [-Werror=implicit-function-declaration]
kfree(csi2tx);
^~~~~
vfree
cc1: some warnings being treated as errors

vim +477 drivers/media/platform/cadence/cdns-csi2tx.c

470
471 static int csi2tx_probe(struct platform_device *pdev)
472 {
473 struct csi2tx_priv *csi2tx;
474 unsigned int i;
475 int ret;
476
> 477 csi2tx = kzalloc(sizeof(*csi2tx), GFP_KERNEL);
478 if (!csi2tx)
479 return -ENOMEM;
480 platform_set_drvdata(pdev, csi2tx);
481 mutex_init(&csi2tx->lock);
482 csi2tx->dev = &pdev->dev;
483
484 ret = csi2tx_get_resources(csi2tx, pdev);
485 if (ret)
486 goto err_free_priv;
487
488 v4l2_subdev_init(&csi2tx->subdev, &csi2tx_subdev_ops);
489 csi2tx->subdev.owner = THIS_MODULE;
490 csi2tx->subdev.dev = &pdev->dev;
491 csi2tx->subdev.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
492 snprintf(csi2tx->subdev.name, V4L2_SUBDEV_NAME_SIZE, "%s.%s",
493 KBUILD_MODNAME, dev_name(&pdev->dev));
494
495 ret = csi2tx_check_lanes(csi2tx);
496 if (ret)
497 goto err_free_priv;
498
499 /* Create our media pads */
500 csi2tx->subdev.entity.function = MEDIA_ENT_F_VID_IF_BRIDGE;
501 csi2tx->pads[CSI2TX_PAD_SOURCE].flags = MEDIA_PAD_FL_SOURCE;
502 for (i = CSI2TX_PAD_SINK_STREAM0; i < CSI2TX_PAD_MAX; i++)
503 csi2tx->pads[i].flags = MEDIA_PAD_FL_SINK;
504
505 /*
506 * Only the input pads are considered to have a format at the
507 * moment. The CSI link can multiplex various streams with
508 * different formats, and we can't expose this in v4l2 right
509 * now.
510 */
511 for (i = CSI2TX_PAD_SINK_STREAM0; i < CSI2TX_PAD_MAX; i++)
512 csi2tx->pad_fmts[i] = fmt_default;
513
514 ret = media_entity_pads_init(&csi2tx->subdev.entity, CSI2TX_PAD_MAX,
515 csi2tx->pads);
516 if (ret)
517 goto err_free_priv;
518
519 ret = v4l2_async_register_subdev(&csi2tx->subdev);
520 if (ret < 0)
521 goto err_free_priv;
522
523 dev_info(&pdev->dev,
524 "Probed CSI2TX with %u/%u lanes, %u streams, %s D-PHY\n",
525 csi2tx->num_lanes, csi2tx->max_lanes, csi2tx->max_streams,
526 csi2tx->has_internal_dphy ? "internal" : "no");
527
528 return 0;
529
530 err_free_priv:
> 531 kfree(csi2tx);
532 return ret;
533 }
534

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip