Re: [PATCH 2/2] media: i2c: Add driver for AD5823 VCM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Hans,

kernel test robot noticed the following build errors:

[auto build test ERROR on media-tree/master]
[also build test ERROR on linuxtv-media-stage/master sailus-media-tree/master linus/master v6.11-rc6 next-20240903]
[cannot apply to sailus-media-tree/streams]
[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/Hans-de-Goede/media-v4l-Call-s_stream-on-VCM-when-it-is-called-on-the-associated-sensor/20240902-052000
base:   git://linuxtv.org/media_tree.git master
patch link:    https://lore.kernel.org/r/20240901211834.145186-3-hdegoede%40redhat.com
patch subject: [PATCH 2/2] media: i2c: Add driver for AD5823 VCM
config: x86_64-randconfig-076-20240904 (https://download.01.org/0day-ci/archive/20240904/202409041123.VAFdMjn2-lkp@xxxxxxxxx/config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240904/202409041123.VAFdMjn2-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202409041123.VAFdMjn2-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

>> drivers/media/i2c/ad5823.c:203:19: error: call to undeclared function 'devm_cci_regmap_init_i2c'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     203 |         ad5823->regmap = devm_cci_regmap_init_i2c(client, 8);
         |                          ^
>> drivers/media/i2c/ad5823.c:203:17: error: incompatible integer to pointer conversion assigning to 'struct regmap *' from 'int' [-Wint-conversion]
     203 |         ad5823->regmap = devm_cci_regmap_init_i2c(client, 8);
         |                        ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   2 errors generated.


vim +/devm_cci_regmap_init_i2c +203 drivers/media/i2c/ad5823.c

   193	
   194	static int ad5823_probe(struct i2c_client *client)
   195	{
   196		struct ad5823_device *ad5823;
   197		int ret;
   198	
   199		ad5823 = devm_kzalloc(&client->dev, sizeof(*ad5823), GFP_KERNEL);
   200		if (!ad5823)
   201			return -ENOMEM;
   202	
 > 203		ad5823->regmap = devm_cci_regmap_init_i2c(client, 8);
   204		if (IS_ERR(ad5823->regmap))
   205			return PTR_ERR(ad5823->regmap);
   206	
   207		ad5823->arc_mode = AD5823_ARC_RES1;
   208		ad5823->resonance_period = AD5823_RESONANCE_PERIOD;
   209	
   210		/* Optional indication of ARC mode select */
   211		device_property_read_u32(&client->dev, "adi,arc-mode",
   212					 &ad5823->arc_mode);
   213	
   214		/* Optional indication of VCM resonance period */
   215		device_property_read_u32(&client->dev, "adi,resonance-period",
   216					 &ad5823->resonance_period);
   217	
   218		ad5823->regulator = devm_regulator_get(&client->dev, "vdd");
   219		if (IS_ERR(ad5823->regulator))
   220			return dev_err_probe(&client->dev, PTR_ERR(ad5823->regulator),
   221					     "getting regulator\n");
   222	
   223		v4l2_i2c_subdev_init(&ad5823->sd, client, &ad5823_ops);
   224		ad5823->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
   225	
   226		ret = ad5823_init_controls(ad5823);
   227		if (ret)
   228			return ret;
   229	
   230		ret = media_entity_pads_init(&ad5823->sd.entity, 0, NULL);
   231		if (ret < 0)
   232			goto err_free_ctrl_handler;
   233	
   234		ad5823->sd.entity.function = MEDIA_ENT_F_LENS;
   235	
   236		/*
   237		 * We need the driver to work in the event that pm runtime is disable in
   238		 * the kernel, so power up and verify the chip now. In the event that
   239		 * runtime pm is disabled this will leave the chip on, so that the lens
   240		 * will work.
   241		 */
   242	
   243		ret = ad5823_power_up(ad5823, true);
   244		if (ret)
   245			goto err_cleanup_media;
   246	
   247		pm_runtime_set_active(&client->dev);
   248		pm_runtime_get_noresume(&client->dev);
   249		pm_runtime_enable(&client->dev);
   250	
   251		ret = v4l2_async_register_subdev(&ad5823->sd);
   252		if (ret < 0)
   253			goto err_pm_runtime;
   254	
   255		pm_runtime_set_autosuspend_delay(&client->dev, 1000);
   256		pm_runtime_use_autosuspend(&client->dev);
   257		pm_runtime_put_autosuspend(&client->dev);
   258	
   259		return ret;
   260	
   261	err_pm_runtime:
   262		pm_runtime_disable(&client->dev);
   263		pm_runtime_put_noidle(&client->dev);
   264		ad5823_power_down(ad5823);
   265	err_cleanup_media:
   266		media_entity_cleanup(&ad5823->sd.entity);
   267	err_free_ctrl_handler:
   268		v4l2_ctrl_handler_free(&ad5823->ctrls.handler);
   269	
   270		return ret;
   271	}
   272	

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




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux