mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Hans de Goede <hansg@kernel.org>
To: Sakari Ailus <sakari.ailus@iki.fi>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Mehdi Djait <mehdi.djait@linux.intel.com>,
	sakari.ailus@linux.intel.com, akinobu.mita@gmail.com,
	stanislaw.gruszka@linux.intel.com, hdegoede@redhat.com,
	arnd@arndb.de, alain.volmat@foss.st.com, andrzej.hajda@intel.com,
	benjamin.mugnier@foss.st.com, dave.stevenson@raspberrypi.com,
	hverkuil@xs4all.nl, jacopo.mondi@ideasonboard.com,
	jonas@kwiboo.se, kieran.bingham@ideasonboard.com,
	khalasa@piap.pl, prabhakar.csengg@gmail.com, mani@kernel.org,
	m.felsch@pengutronix.de, martink@posteo.de,
	mattwmajewski@gmail.com, matthias.fend@emfend.at,
	mchehab@kernel.org, michael.riesch@collabora.com,
	naush@raspberrypi.com, nicholas@rothemail.net,
	nicolas.dufresne@collabora.com, paul.elder@ideasonboard.com,
	dan.scally@ideasonboard.com, pavel@kernel.org,
	petrcvekcz@gmail.com, rashanmu@gmail.com, ribalda@chromium.org,
	rmfrfs@gmail.com, zhengsq@rock-chips.com, slongerbeam@gmail.com,
	sylvain.petinot@foss.st.com, s.nawrocki@samsung.com,
	tomi.valkeinen@ideasonboard.com, umang.jain@ideasonboard.com,
	zhi.mao@mediatek.com, linux-kernel@vger.kernel.org,
	linux-media@vger.kernel.org
Subject: Re: [PATCH v1 41/55] media: i2c: ov8865: Use the v4l2 helper for obtaining the clock
Date: Sat, 21 Jun 2025 10:27:25 +0200	[thread overview]
Message-ID: <e18649fb-a6f1-4fe8-8973-3348435f02ad@kernel.org> (raw)
In-Reply-To: <aFZmPOqYz0Rgv5H0@valkosipuli.retiisi.eu>

Hi,

On 21-Jun-25 9:58 AM, Sakari Ailus wrote:
> Hi Laurent,
> 
> On Fri, Jun 20, 2025 at 12:59:51AM +0300, Laurent Pinchart wrote:
>> On Fri, Jun 20, 2025 at 12:57:46AM +0300, Laurent Pinchart wrote:
>>> Hi Mehdi,
>>>
>>> Thank you for the patch.
>>>
>>> On Thu, Jun 19, 2025 at 07:59:34PM +0200, Mehdi Djait wrote:
>>>> devm_clk_get() fails on ACPI-based platforms, where firmware does not
>>>> provide a direct reference to the clock producer.
>>>>
>>>> Replace devm_clk_get() with the new v4l2 helper
>>>> devm_v4l2_sensor_clk_get() that works on both DT- and ACPI-based
>>>> platforms to retrieve a reference to the clock producer from firmware.
>>>>
>>>> Signed-off-by: Mehdi Djait <mehdi.djait@linux.intel.com>
>>>
>>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>>>
>>>>
>>>> diff --git a/drivers/media/i2c/ov8865.c b/drivers/media/i2c/ov8865.c
>>>> index 95ffe7536aa6..5cc278c3e169 100644
>>>> --- a/drivers/media/i2c/ov8865.c
>>>> +++ b/drivers/media/i2c/ov8865.c
>>>> @@ -2956,7 +2956,6 @@ static int ov8865_probe(struct i2c_client *client)
>>>>  	struct ov8865_sensor *sensor;
>>>>  	struct v4l2_subdev *subdev;
>>>>  	struct media_pad *pad;
>>>> -	unsigned int rate = 0;
>>>>  	unsigned int i;
>>>>  	int ret;
>>>>  
>>>> @@ -3019,39 +3018,14 @@ static int ov8865_probe(struct i2c_client *client)
>>>>  
>>>>  	/* External Clock */
>>>>  
>>>> -	sensor->extclk = devm_clk_get(dev, NULL);
>>>> -	if (PTR_ERR(sensor->extclk) == -ENOENT) {
>>>> -		dev_info(dev, "no external clock found, continuing...\n");
>>>> -		sensor->extclk = NULL;
>>>> -	} else if (IS_ERR(sensor->extclk)) {
>>>> +	sensor->extclk = devm_v4l2_sensor_clk_get(dev, NULL);
>>>> +	if (IS_ERR(sensor->extclk)) {
>>>>  		dev_err(dev, "failed to get external clock\n");
>>>>  		ret = PTR_ERR(sensor->extclk);
>>
>> Actually, I'd take this as an opportunity to write
>>
>>  		ret = dev_err_probe(dev, PTR_ERR(sensor->extclk),
>> 				    "failed to get external clock\n");
> 
> Wouldn't printing this kind of a message fit for devm_v4l2_sensor_clk_get()
> and consequently be removed from drivers?

+1 to that suggestion having the helper always log an error on errors
and then being able to just directly return an error without needing
to log would be great.

Note the helper really should use dev_err_probe() for these errors,
so that if devm_clk_get() ever starts returning -EPROBE_DEFER that
will be handled properly.

Otherwise this looks good to me. Mehdi thank you for your work on this!

Regards,

Hans



  reply	other threads:[~2025-06-21  8:27 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-19 17:58 [PATCH v1 00/55] media: Add a helper for obtaining the clock producer Mehdi Djait
2025-06-19 17:58 ` [PATCH v1 01/55] media: v4l2-common: " Mehdi Djait
2025-06-19 22:07   ` Laurent Pinchart
2025-06-19 17:58 ` [PATCH v1 02/55] Documentation: media: camera-sensor: Mention v4l2_devm_sensor_clk_get() for obtaining the clock Mehdi Djait
2025-06-19 21:47   ` Laurent Pinchart
2025-06-23 10:49     ` Sakari Ailus
2025-06-19 17:58 ` [PATCH v1 03/55] media: i2c: ar0521: Use the v4l2 helper " Mehdi Djait
2025-06-21 10:21   ` Krzysztof Hałasa | Łukasiewicz – PIAP
2025-06-19 17:58 ` [PATCH v1 04/55] media: i2c: ds90ub913: " Mehdi Djait
2025-06-19 17:58 ` [PATCH v1 05/55] media: i2c: ds90ub960: " Mehdi Djait
2025-06-19 17:58 ` [PATCH v1 06/55] media: i2c: et8ek8: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 07/55] media: i2c: gc05a2: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 08/55] media: i2c: gc08a3: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 09/55] media: i2c: gc2145: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 10/55] media: i2c: hi846: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 11/55] media: i2c: imx214: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 12/55] media: i2c: imx219: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 13/55] media: i2c: imx283: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 14/55] media: i2c: imx290: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 15/55] media: i2c: imx296: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 16/55] media: i2c: imx334: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 17/55] media: i2c: imx335: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 18/55] media: i2c: imx412: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 19/55] media: i2c: imx415: " Mehdi Djait
2025-06-21 14:23   ` Michael Riesch
2025-06-19 17:59 ` [PATCH v1 20/55] media: i2c: max2175: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 21/55] media: i2c: mt9m001: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 22/55] media: i2c: mt9m111: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 23/55] media: i2c: mt9m114: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 24/55] media: i2c: mt9p031: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 25/55] media: i2c: mt9t112: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 26/55] media: i2c: mt9v032: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 27/55] media: i2c: mt9v111: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 28/55] media: i2c: ov02a10: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 29/55] media: i2c: ov2659: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 30/55] media: i2c: ov2685: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 31/55] media: i2c: ov5640: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 32/55] media: i2c: ov5645: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 33/55] media: i2c: ov5647: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 34/55] media: i2c: ov5648: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 35/55] media: i2c: ov5695: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 36/55] media: i2c: ov64a40: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 37/55] media: i2c: ov6650: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 38/55] media: i2c: ov7740: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 39/55] media: i2c: ov8856: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 40/55] media: i2c: ov8858: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 41/55] media: i2c: ov8865: " Mehdi Djait
2025-06-19 21:57   ` Laurent Pinchart
2025-06-19 21:59     ` Laurent Pinchart
2025-06-21  7:58       ` Sakari Ailus
2025-06-21  8:27         ` Hans de Goede [this message]
2025-06-19 17:59 ` [PATCH v1 42/55] media: i2c: ov9282: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 43/55] media: i2c: ov9640: " Mehdi Djait
2025-06-19 17:59 ` [PATCH v1 44/55] media: i2c: ov9650: " Mehdi Djait
2025-06-19 18:09 ` [PATCH v1 45/55] media: i2c: s5c73m3: " Mehdi Djait
2025-06-19 18:11 ` [PATCH v1 46/55] media: i2c: s5k5baf: " Mehdi Djait
2025-06-19 18:11 ` [PATCH v1 47/55] media: i2c: s5k6a3: " Mehdi Djait
2025-06-19 18:11 ` [PATCH v1 48/55] media: i2c: st-mipid02: " Mehdi Djait
2025-06-19 18:11 ` [PATCH v1 50/55] media: i2c: tc358746: " Mehdi Djait
2025-06-19 18:11 ` [PATCH v1 51/55] media: i2c: thp7312: " Mehdi Djait
2025-06-19 18:11 ` [PATCH v1 52/55] media: i2c: vd55g1: " Mehdi Djait
2025-06-19 18:11 ` [PATCH v1 53/55] media: i2c: vd56g3: " Mehdi Djait
2025-06-19 18:11 ` [PATCH v1 54/55] media: i2c: vgxy61: " Mehdi Djait
2025-06-19 18:11 ` [PATCH v1 55/55] media: i2c: ov2680: " Mehdi Djait
2025-06-19 22:00   ` Laurent Pinchart
2025-06-19 18:15 ` [PATCH v1 49/55] media: i2c: tc358743: " Mehdi Djait
2025-06-19 21:26 ` [PATCH v1 00/55] media: Add a helper for obtaining the clock producer Laurent Pinchart
2025-06-21 14:28 ` Michael Riesch
2025-06-22 11:45   ` Hans de Goede
2025-06-24 20:34 ` Lad, Prabhakar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e18649fb-a6f1-4fe8-8973-3348435f02ad@kernel.org \
    --to=hansg@kernel.org \
    --cc=akinobu.mita@gmail.com \
    --cc=alain.volmat@foss.st.com \
    --cc=andrzej.hajda@intel.com \
    --cc=arnd@arndb.de \
    --cc=benjamin.mugnier@foss.st.com \
    --cc=dan.scally@ideasonboard.com \
    --cc=dave.stevenson@raspberrypi.com \
    --cc=hdegoede@redhat.com \
    --cc=hverkuil@xs4all.nl \
    --cc=jacopo.mondi@ideasonboard.com \
    --cc=jonas@kwiboo.se \
    --cc=khalasa@piap.pl \
    --cc=kieran.bingham@ideasonboard.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=m.felsch@pengutronix.de \
    --cc=mani@kernel.org \
    --cc=martink@posteo.de \
    --cc=matthias.fend@emfend.at \
    --cc=mattwmajewski@gmail.com \
    --cc=mchehab@kernel.org \
    --cc=mehdi.djait@linux.intel.com \
    --cc=michael.riesch@collabora.com \
    --cc=naush@raspberrypi.com \
    --cc=nicholas@rothemail.net \
    --cc=nicolas.dufresne@collabora.com \
    --cc=paul.elder@ideasonboard.com \
    --cc=pavel@kernel.org \
    --cc=petrcvekcz@gmail.com \
    --cc=prabhakar.csengg@gmail.com \
    --cc=rashanmu@gmail.com \
    --cc=ribalda@chromium.org \
    --cc=rmfrfs@gmail.com \
    --cc=s.nawrocki@samsung.com \
    --cc=sakari.ailus@iki.fi \
    --cc=sakari.ailus@linux.intel.com \
    --cc=slongerbeam@gmail.com \
    --cc=stanislaw.gruszka@linux.intel.com \
    --cc=sylvain.petinot@foss.st.com \
    --cc=tomi.valkeinen@ideasonboard.com \
    --cc=umang.jain@ideasonboard.com \
    --cc=zhengsq@rock-chips.com \
    --cc=zhi.mao@mediatek.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®