[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202507111522.ERi7Nddk-lkp@intel.com>
Date: Fri, 11 Jul 2025 15:56:53 +0800
From: kernel test robot <lkp@...el.com>
To: Hardevsinh Palaniya <hardevsinh.palaniya@...iconsignals.io>,
sakari.ailus@...ux.intel.com, krzk+dt@...nel.org,
kieran.bingham@...asonboard.com
Cc: oe-kbuild-all@...ts.linux.dev, dave.stevenson@...pberrypi.com,
pratap.nirujogi@....com, laurent.pinchart@...asonboard.com,
tarang.raval@...iconsignals.io,
Hardevsinh Palaniya <hardevsinh.palaniya@...iconsignals.io>,
Himanshu Bhavani <himanshu.bhavani@...iconsignals.io>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
linux-media@...r.kernel.org, Rob Herring <robh@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Hans Verkuil <hverkuil@...all.nl>,
Ricardo Ribalda <ribalda@...omium.org>,
Bryan O'Donoghue <bryan.odonoghue@...aro.org>,
André Apitzsch <git@...tzsch.eu>,
Arnd Bergmann <arnd@...db.de>,
Matthias Fend <matthias.fend@...end.at>,
Sylvain Petinot <sylvain.petinot@...s.st.com>,
Dongcheng Yan <dongcheng.yan@...el.com>,
Benjamin Mugnier <benjamin.mugnier@...s.st.com>,
Heimir Thor Sverrisson <heimir.sverrisson@...il.com>,
Jingjing Xiong <jingjing.xiong@...el.com>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Hans de Goede <hansg@...nel.org>, Hao Yao <hao.yao@...el.com>,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 2/2] media: i2c: add ov2735 image sensor driver
Hi Hardevsinh,
kernel test robot noticed the following build errors:
[auto build test ERROR on sailus-media-tree/master]
[also build test ERROR on linus/master v6.16-rc5 next-20250710]
[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/Hardevsinh-Palaniya/dt-bindings-media-i2c-Add-ov2735-sensor/20250710-211325
base: git://linuxtv.org/sailus/media_tree.git master
patch link: https://lore.kernel.org/r/20250710131107.69017-3-hardevsinh.palaniya%40siliconsignals.io
patch subject: [PATCH v3 2/2] media: i2c: add ov2735 image sensor driver
config: mips-randconfig-r072-20250711 (https://download.01.org/0day-ci/archive/20250711/202507111522.ERi7Nddk-lkp@intel.com/config)
compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project 01c97b4953e87ae455bd4c41e3de3f0f0f29c61c)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250711/202507111522.ERi7Nddk-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/202507111522.ERi7Nddk-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/media/i2c/ov2735.c:829:17: error: call to undeclared function 'devm_v4l2_sensor_clk_get'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
829 | ov2735->xclk = devm_v4l2_sensor_clk_get(ov2735->dev, NULL);
| ^
>> drivers/media/i2c/ov2735.c:829:15: error: incompatible integer to pointer conversion assigning to 'struct clk *' from 'int' [-Wint-conversion]
829 | ov2735->xclk = devm_v4l2_sensor_clk_get(ov2735->dev, NULL);
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.
vim +/devm_v4l2_sensor_clk_get +829 drivers/media/i2c/ov2735.c
801
802 static int ov2735_probe(struct i2c_client *client)
803 {
804 struct ov2735 *ov2735;
805 unsigned int xclk_freq;
806 int ret;
807
808 ov2735 = devm_kzalloc(&client->dev, sizeof(*ov2735), GFP_KERNEL);
809 if (!ov2735)
810 return -ENOMEM;
811
812 ov2735->client = client;
813 ov2735->dev = &client->dev;
814
815 v4l2_i2c_subdev_init(&ov2735->sd, client, &ov2735_subdev_ops);
816 ov2735->sd.internal_ops = &ov2735_internal_ops;
817
818 ov2735->cci = devm_cci_regmap_init_i2c(client, 8);
819 if (IS_ERR(ov2735->cci)) {
820 ret = PTR_ERR(ov2735->cci);
821 return dev_err_probe(ov2735->dev, ret, "failed to initialize CCI\n");
822 }
823
824 /* Set Current page to 0 */
825 ov2735->current_page = 0;
826 mutex_init(&ov2735->page_lock);
827
828 /* Get system clock (xvclk) */
> 829 ov2735->xclk = devm_v4l2_sensor_clk_get(ov2735->dev, NULL);
830 if (IS_ERR(ov2735->xclk)) {
831 return dev_err_probe(ov2735->dev, PTR_ERR(ov2735->xclk),
832 "failed to get xclk\n");
833 }
834
835 xclk_freq = clk_get_rate(ov2735->xclk);
836 if (xclk_freq != OV2735_XCLK_FREQ)
837 return dev_err_probe(ov2735->dev, -EINVAL,
838 "xclk frequency not supported: %d Hz\n",
839 xclk_freq);
840
841 ret = ov2735_get_regulators(ov2735);
842 if (ret)
843 return dev_err_probe(ov2735->dev, ret, "failed to get regulators\n");
844
845 ret = ov2735_parse_endpoint(ov2735);
846 if (ret) {
847 dev_err(ov2735->dev, "failed to parse endpoint configuration\n");
848 return ret;
849 }
850
851 ov2735->reset_gpio = devm_gpiod_get(&client->dev, "reset", GPIOD_OUT_LOW);
852 if (IS_ERR(ov2735->reset_gpio))
853 return dev_err_probe(ov2735->dev, PTR_ERR(ov2735->reset_gpio),
854 "failed to get reset GPIO\n");
855
856 ov2735->enable_gpio = devm_gpiod_get(&client->dev, "enable", GPIOD_OUT_LOW);
857 if (IS_ERR(ov2735->enable_gpio))
858 return dev_err_probe(ov2735->dev, PTR_ERR(ov2735->enable_gpio),
859 "failed to get enable GPIO\n");
860
861 ret = ov2735_power_on(ov2735->dev);
862 if (ret)
863 return ret;
864
865 ret = ov2735_identify_module(ov2735);
866 if (ret)
867 goto error_power_off;
868
869 /* This needs the pm runtime to be registered. */
870 ret = ov2735_init_controls(ov2735);
871 if (ret)
872 goto error_power_off;
873
874 /* Initialize subdev */
875 ov2735->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
876 ov2735->sd.entity.function = MEDIA_ENT_F_CAM_SENSOR;
877 ov2735->pad.flags = MEDIA_PAD_FL_SOURCE;
878
879 ret = media_entity_pads_init(&ov2735->sd.entity, 1, &ov2735->pad);
880 if (ret) {
881 dev_err_probe(ov2735->dev, ret, "failed to init entity pads\n");
882 goto error_handler_free;
883 }
884
885 ov2735->sd.state_lock = ov2735->handler.lock;
886 ret = v4l2_subdev_init_finalize(&ov2735->sd);
887 if (ret < 0) {
888 dev_err_probe(ov2735->dev, ret, "subdev init error\n");
889 goto error_media_entity;
890 }
891
892 pm_runtime_set_active(ov2735->dev);
893 pm_runtime_enable(ov2735->dev);
894
895 ret = v4l2_async_register_subdev_sensor(&ov2735->sd);
896 if (ret < 0) {
897 dev_err_probe(ov2735->dev, ret,
898 "failed to register ov2735 sub-device\n");
899 goto error_subdev_cleanup;
900 }
901
902 pm_runtime_idle(ov2735->dev);
903
904 return 0;
905
906 error_subdev_cleanup:
907 v4l2_subdev_cleanup(&ov2735->sd);
908 pm_runtime_disable(ov2735->dev);
909 pm_runtime_set_suspended(ov2735->dev);
910
911 error_media_entity:
912 media_entity_cleanup(&ov2735->sd.entity);
913
914 error_handler_free:
915 v4l2_ctrl_handler_free(ov2735->sd.ctrl_handler);
916
917 error_power_off:
918 ov2735_power_off(ov2735->dev);
919
920 return ret;
921 }
922
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists