llvm.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH v2 2/2] media: i2c: Add OmniVision OV6211 image sensor driver
       [not found] <20250729231454.242748-3-vladimir.zapolskiy@linaro.org>
@ 2025-07-30 15:34 ` kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-07-30 15:34 UTC (permalink / raw)
  To: Vladimir Zapolskiy, Mauro Carvalho Chehab, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Sakari Ailus, Hans Verkuil,
	Dave Stevenson, Mehdi Djait
  Cc: llvm, oe-kbuild-all, linux-media, devicetree

Hi Vladimir,

kernel test robot noticed the following build errors:

[auto build test ERROR on robh/for-next]
[also build test ERROR on linuxtv-media-pending/master linus/master v6.16 next-20250730]
[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/Vladimir-Zapolskiy/dt-bindings-media-i2c-Add-OmniVision-OV6211-image-sensor/20250730-071618
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link:    https://lore.kernel.org/r/20250729231454.242748-3-vladimir.zapolskiy%40linaro.org
patch subject: [PATCH v2 2/2] media: i2c: Add OmniVision OV6211 image sensor driver
config: loongarch-allmodconfig (https://download.01.org/0day-ci/archive/20250730/202507302325.nnfzHwrF-lkp@intel.com/config)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250730/202507302325.nnfzHwrF-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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202507302325.nnfzHwrF-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/media/i2c/ov6211.c:672:18: error: call to undeclared function 'devm_v4l2_sensor_clk_get'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     672 |         ov6211->xvclk = devm_v4l2_sensor_clk_get(&client->dev, NULL);
         |                         ^
>> drivers/media/i2c/ov6211.c:672:16: error: incompatible integer to pointer conversion assigning to 'struct clk *' from 'int' [-Wint-conversion]
     672 |         ov6211->xvclk = devm_v4l2_sensor_clk_get(&client->dev, NULL);
         |                       ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   2 errors generated.


vim +/devm_v4l2_sensor_clk_get +672 drivers/media/i2c/ov6211.c

   654	
   655	static int ov6211_probe(struct i2c_client *client)
   656	{
   657		struct ov6211 *ov6211;
   658		unsigned long freq;
   659		int ret;
   660	
   661		ov6211 = devm_kzalloc(&client->dev, sizeof(*ov6211), GFP_KERNEL);
   662		if (!ov6211)
   663			return -ENOMEM;
   664	
   665		ov6211->regmap = devm_cci_regmap_init_i2c(client, 16);
   666		if (IS_ERR(ov6211->regmap))
   667			return dev_err_probe(&client->dev, PTR_ERR(ov6211->regmap),
   668					     "failed to init CCI\n");
   669	
   670		v4l2_i2c_subdev_init(&ov6211->sd, client, &ov6211_subdev_ops);
   671	
 > 672		ov6211->xvclk = devm_v4l2_sensor_clk_get(&client->dev, NULL);
   673		if (IS_ERR(ov6211->xvclk))
   674			return dev_err_probe(&client->dev, PTR_ERR(ov6211->xvclk),
   675					     "failed to get XVCLK clock\n");
   676	
   677		freq = clk_get_rate(ov6211->xvclk);
   678		if (freq && freq != OV6211_MCLK_FREQ_24MHZ)
   679			return dev_err_probe(&client->dev, -EINVAL,
   680					"XVCLK clock frequency %lu is not supported\n",
   681					freq);
   682	
   683		ret = ov6211_check_hwcfg(ov6211);
   684		if (ret)
   685			return dev_err_probe(&client->dev, ret,
   686					     "failed to check HW configuration\n");
   687	
   688		ov6211->reset_gpio = devm_gpiod_get_optional(&client->dev, "reset",
   689							     GPIOD_OUT_HIGH);
   690		if (IS_ERR(ov6211->reset_gpio))
   691			return dev_err_probe(&client->dev, PTR_ERR(ov6211->reset_gpio),
   692					     "cannot get reset GPIO\n");
   693	
   694		ov6211->avdd = devm_regulator_get_optional(&client->dev, "avdd");
   695		if (IS_ERR(ov6211->avdd)) {
   696			ret = PTR_ERR(ov6211->avdd);
   697			if (ret != -ENODEV)
   698				return dev_err_probe(&client->dev, ret,
   699						     "Failed to get avdd regulator\n");
   700	
   701			ov6211->avdd = NULL;
   702		}
   703	
   704		ov6211->dovdd = devm_regulator_get_optional(&client->dev, "dovdd");
   705		if (IS_ERR(ov6211->dovdd)) {
   706			ret = PTR_ERR(ov6211->dovdd);
   707			if (ret != -ENODEV)
   708				return dev_err_probe(&client->dev, ret,
   709						     "Failed to get dovdd regulator\n");
   710	
   711			ov6211->dovdd = NULL;
   712		}
   713	
   714		ov6211->dvdd = devm_regulator_get_optional(&client->dev, "dvdd");
   715		if (IS_ERR(ov6211->dvdd)) {
   716			ret = PTR_ERR(ov6211->dvdd);
   717			if (ret != -ENODEV)
   718				return dev_err_probe(&client->dev, ret,
   719						     "Failed to get dvdd regulator\n");
   720	
   721			ov6211->dvdd = NULL;
   722		}
   723	
   724		/* The sensor must be powered on to read the CHIP_ID register */
   725		ret = ov6211_power_on(&client->dev);
   726		if (ret)
   727			return ret;
   728	
   729		ret = ov6211_identify_module(ov6211);
   730		if (ret) {
   731			dev_err_probe(&client->dev, ret, "failed to find sensor\n");
   732			goto power_off;
   733		}
   734	
   735		mutex_init(&ov6211->mutex);
   736		ov6211->cur_mode = &supported_modes[0];
   737	
   738		ret = ov6211_init_controls(ov6211);
   739		if (ret) {
   740			dev_err_probe(&client->dev, ret, "failed to init controls\n");
   741			goto mutex_destroy;
   742		}
   743	
   744		ov6211->sd.internal_ops = &ov6211_internal_ops;
   745		ov6211->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
   746		ov6211->sd.entity.ops = &ov6211_subdev_entity_ops;
   747		ov6211->sd.entity.function = MEDIA_ENT_F_CAM_SENSOR;
   748		ov6211->pad.flags = MEDIA_PAD_FL_SOURCE;
   749		ret = media_entity_pads_init(&ov6211->sd.entity, 1, &ov6211->pad);
   750		if (ret) {
   751			dev_err_probe(&client->dev, ret,
   752				      "failed to init media entity pads\n");
   753			goto v4l2_ctrl_handler_free;
   754		}
   755	
   756		ret = v4l2_async_register_subdev_sensor(&ov6211->sd);
   757		if (ret < 0) {
   758			dev_err_probe(&client->dev, ret,
   759				      "failed to register V4L2 subdev\n");
   760			goto media_entity_cleanup;
   761		}
   762	
   763		/* Enable runtime PM and turn off the device */
   764		pm_runtime_set_active(&client->dev);
   765		pm_runtime_enable(&client->dev);
   766		pm_runtime_idle(&client->dev);
   767	
   768		return 0;
   769	
   770	media_entity_cleanup:
   771		media_entity_cleanup(&ov6211->sd.entity);
   772	
   773	v4l2_ctrl_handler_free:
   774		v4l2_ctrl_handler_free(ov6211->sd.ctrl_handler);
   775	
   776	mutex_destroy:
   777		mutex_destroy(&ov6211->mutex);
   778	
   779	power_off:
   780		ov6211_power_off(&client->dev);
   781	
   782		return ret;
   783	}
   784	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-07-30 15:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20250729231454.242748-3-vladimir.zapolskiy@linaro.org>
2025-07-30 15:34 ` [PATCH v2 2/2] media: i2c: Add OmniVision OV6211 image sensor driver kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).