All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Scally <djrscally@gmail.com>
To: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Cc: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>,
	Sakari Ailus <sakari.ailus@linux.intel.com>,
	Ezequiel Garcia <ezequiel@collabora.com>,
	Hans Verkuil <hverkuil-cisco@xs4all.nl>,
	Yang Li <yang.lee@linux.alibaba.com>,
	"open list:MEDIA INPUT INFRASTRUCTURE (V4L/DVB)" 
	<linux-media@vger.kernel.org>,
	open list <linux-kernel@vger.kernel.org>,
	Yong Zhi <yong.zhi@intel.com>, Bingbu Cao <bingbu.cao@intel.com>,
	Tianshu Qiu <tian.shu.qiu@intel.com>,
	Colin Ian King <colin.king@canonical.com>,
	laurent.pinchart@ideasonboard.com,
	kieran.bingham@ideasonboard.com
Subject: Re: [PATCH 03/13] media: i2c: Defer probe if not endpoint found
Date: Fri, 23 Jul 2021 10:15:41 +0100	[thread overview]
Message-ID: <32df477e-754d-4432-dddc-668596990dcf@gmail.com> (raw)
In-Reply-To: <YPp0eCIawk2TGQ6Z@aptenodytes>

Hi Paul

On 23/07/2021 08:49, Paul Kocialkowski wrote:
> Hi Daniel,
>
> On Thu 22 Jul 21, 21:33, Daniel Scally wrote:
>> The ov8865 driver is one of those that can be connected to a CIO2
>> device by the cio2-bridge code. This means that the absence of an
>> endpoint for this device is not necessarily fatal, as one might be
>> built by the cio2-bridge when it probes. Return -EPROBE_DEFER if no
>> endpoint is found rather than a fatal error.
> Is this an error that you have actually seen in practice?


Yes

> My understanding is that this function should return the handle to the *local*
> fwnode graph endpoint, which relates to the static device-tree description
> and should be unrelated to another driver probing.
>
> So as far as I can see, this should not be needed (but correct me if I'm wrong).


It's a newly possible scenario - some laptops with Intel IPU3s have ACPI
that is _creative_,. and rather than define the endpoints in an ACPI
device's _DSD they're encoded within a buffer that's against the sensor
devices instead. We're parsing those out and building the fwnode graph
using software nodes in the ipu3-cio2 driver:


https://elixir.bootlin.com/linux/v5.14-rc2/source/drivers/media/pci/intel/ipu3/cio2-bridge.c#L166


But that means there's no endpoint for the sensor until ipu3-cio2 has
probed.


Thanks

Dan

>
> Cheers,
>
> Paul
>
>> Signed-off-by: Daniel Scally <djrscally@gmail.com>
>> ---
>>  drivers/media/i2c/ov8865.c | 6 ++----
>>  1 file changed, 2 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/media/i2c/ov8865.c b/drivers/media/i2c/ov8865.c
>> index 2ef146e7e7ef..66182142c28b 100644
>> --- a/drivers/media/i2c/ov8865.c
>> +++ b/drivers/media/i2c/ov8865.c
>> @@ -2796,10 +2796,8 @@ static int ov8865_probe(struct i2c_client *client)
>>  	/* Graph Endpoint */
>>  
>>  	handle = fwnode_graph_get_next_endpoint(dev_fwnode(dev), NULL);
>> -	if (!handle) {
>> -		dev_err(dev, "unable to find endpoint node\n");
>> -		return -EINVAL;
>> -	}
>> +	if (!handle)
>> +		return -EPROBE_DEFER;
>>  
>>  	sensor->endpoint.bus_type = V4L2_MBUS_CSI2_DPHY;
>>  
>> -- 
>> 2.25.1
>>

  reply	other threads:[~2021-07-23  9:15 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-22 20:33 [PATCH 00/13] Extensions to ov8865 driver Daniel Scally
2021-07-22 20:33 ` [PATCH 01/13] media: i2c: Add ACPI support to ov8865 Daniel Scally
     [not found]   ` <CAHp75VfC1QMu=BcMZP8-vX_2paDp4CXqEYEDQnN+7=s3Up9VjA@mail.gmail.com>
2021-07-22 23:09     ` Daniel Scally
2021-07-22 20:33 ` [PATCH 02/13] media: i2c: Fix incorrect value in comment Daniel Scally
2021-07-23  7:44   ` Paul Kocialkowski
2021-07-23  9:17     ` Daniel Scally
2021-07-22 20:33 ` [PATCH 03/13] media: i2c: Defer probe if not endpoint found Daniel Scally
2021-07-23  7:49   ` Paul Kocialkowski
2021-07-23  9:15     ` Daniel Scally [this message]
2021-07-22 20:33 ` [PATCH 04/13] media: i2c: Support 19.2MHz input clock in ov8865 Daniel Scally
2021-07-22 20:33 ` [PATCH 05/13] media: i2c: Add .get_selection() support to ov8865 Daniel Scally
2021-07-23  8:13   ` kernel test robot
2021-07-23  8:13     ` kernel test robot
2021-07-22 20:34 ` [PATCH 06/13] media: i2c: Switch control to V4L2_CID_ANALOGUE_GAIN Daniel Scally
2021-07-23  7:57   ` Paul Kocialkowski
2021-07-23 12:00     ` Daniel Scally
2021-07-22 20:34 ` [PATCH 07/13] media: i2c: Add vblank control to ov8865 Daniel Scally
2021-07-22 20:34 ` [PATCH 08/13] media: i2c: Add hblank " Daniel Scally
2021-07-22 20:34 ` [PATCH 09/13] media: i2c: cap exposure at height + vblank in ov8865 Daniel Scally
2021-07-22 20:34 ` [PATCH 10/13] media: i2c: Add controls from fwnode to ov8865 Daniel Scally
2021-07-22 20:34 ` [PATCH 11/13] media: i2c: Switch exposure control unit to lines Daniel Scally
2021-07-22 20:34 ` [PATCH 12/13] media: i2c: Remove unused macros from ov8865 Daniel Scally
     [not found]   ` <CAHp75Vcmo8rD=WpECbKfpByBr1pAL+7gV2eycZ=3M+YDWUzOFw@mail.gmail.com>
2021-07-23  8:00     ` Paul Kocialkowski
2021-07-23  9:07       ` Daniel Scally
2021-07-22 20:34 ` [PATCH 13/13] media: ipu3-cio2: Add INT347A to cio2-bridge Daniel Scally
     [not found]   ` <CAHp75Vc60J1kTs0Kv5ibc+5zqCTvRDDAcmHFKFDi-4Qd-rBHuA@mail.gmail.com>
2021-07-22 23:07     ` Daniel Scally

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=32df477e-754d-4432-dddc-668596990dcf@gmail.com \
    --to=djrscally@gmail.com \
    --cc=bingbu.cao@intel.com \
    --cc=colin.king@canonical.com \
    --cc=ezequiel@collabora.com \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=kieran.bingham@ideasonboard.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab+huawei@kernel.org \
    --cc=paul.kocialkowski@bootlin.com \
    --cc=sakari.ailus@linux.intel.com \
    --cc=tian.shu.qiu@intel.com \
    --cc=yang.lee@linux.alibaba.com \
    --cc=yong.zhi@intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.