linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bin Gao <bin_gao-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
To: Wolfram Sang <wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
Cc: Bin Gao <bin.gao-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>,
	Andy Shevchenko
	<andy.shevchenko-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: i2c: introduce i2c helper i2c_find_client_by_name()
Date: Fri, 21 Jun 2013 17:27:49 -0700	[thread overview]
Message-ID: <51C4EF85.7010607@linux.intel.com> (raw)
In-Reply-To: <20130619101348.GE2950@katana>

On 6/19/2013 3:13 AM, Wolfram Sang wrote:
>
>> Even you prefer to extend v4l2, you still need this helper.
>> The idea is just to move the unregister/register from a specific ISP driver
>> to v4l2.
>>
>> I think you misunderstood my pionts somehow. Let me clarfiy a little bit:
>>
>> Current solution:
>> 1. Platform codes(on top of DT/ACPI5/SFI) don't call i2c_register_board_info(),
>> instead, prepare a table(kind of platform data) that has all camera i2c device information.
>> 2. ISP driver registers devices listed in the table to i2c core - this makes sure
>> v4l2 takes over these devices.
>> The problem with this solution is that when a camera device runs on both ACPI5 and
>> SFI, the platform codes will get a bit complicated and it's difficult to ensure one
>> binary kernel runs on both platforms(ACPI5 and SFI).
>> (To extend v4l2 with this solution doen't resolve my problem)
>>
>> Solution I'm suggesting:
>> 1. Let the platform codes call i2c_register_board_info() anyway.
>> 2. Since ISP driver knows which camera devices it supports, so it simply unregisters
>> those devices (get the client by the introduced helper), then register it within v4l2.
>> This solution ensure one binary kernel can run on both platforms.
>> (To extend v4l2 with this solution could not be feasible, the device table is
>> ISP driver specific, not v4l2 specific)
>
> I also wonder about the need to unregister. I have to admit I don't know
> much about I2C handling in v4l2. But if it requires unregistering from
> i2c core and registering to v4l2 core, then it sounds to me like we
> could check if there is a more fundamential cleanup needed? Deferring
> for now, looks like an issue worth looking at, yet there are other
> things in the queue first.
>

Platform codes are supposed to call i2c_register_board_info() or 
i2c_new_device() to register devices, we don't want to change this.
Not sure v4l2 can still take over the devices without 
unregistering/registering. Need look deeply into the v4l2 code...

  reply	other threads:[~2013-06-22  0:27 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-06 18:33 i2c: introduce i2c helper i2c_find_client_by_name() Bin Gao
     [not found] ` <20130606183346.GA13259-VlzZ4XCc4GmWDyPblzj0aa2pdiUAq4bhAL8bYrjMMd8@public.gmane.org>
2013-06-06 20:32   ` Andy Shevchenko
     [not found]     ` <CAHp75VcYgpUVpOnKOzkYoZXbEPO_0QG7=WUXza55wpOyRwcKCA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-06-06 21:26       ` Bin Gao
     [not found]         ` <20130606212620.GA13620-VlzZ4XCc4GmWDyPblzj0aa2pdiUAq4bhAL8bYrjMMd8@public.gmane.org>
2013-06-09 19:53           ` Andy Shevchenko
2013-06-11 17:11             ` Bin Gao
     [not found]               ` <20130611171119.GA35135-VlzZ4XCc4GmWDyPblzj0aa2pdiUAq4bhAL8bYrjMMd8@public.gmane.org>
2013-06-14  7:29                 ` Andy Shevchenko
     [not found]                   ` <CAHp75VdZA_gouZohD1J+o9ybpXVLLQH=D7QDo9OznW93iBDZpQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-06-14 19:00                     ` Bin Gao
     [not found]                       ` <20130614190003.GA19617-VlzZ4XCc4GmWDyPblzj0aa2pdiUAq4bhAL8bYrjMMd8@public.gmane.org>
2013-06-19 10:13                         ` Wolfram Sang
2013-06-22  0:27                           ` Bin Gao [this message]
     [not found]                             ` <51C4EF85.7010607-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2013-06-23 12:43                               ` Wolfram Sang
2013-07-05 19:55 ` Mark Brown
     [not found]   ` <20130705195512.GJ27646-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2013-07-12 10:54     ` Andy Shevchenko
     [not found]       ` <CAHp75VeasHGariq=v005NSUTe_+e471NYbEoSzPJXcFNgsfKNQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-12 11:00         ` Wolfram Sang
2013-07-12 11:02           ` Laurent Pinchart
2013-07-12 11:29           ` Andy Shevchenko
     [not found]             ` <CAHp75Ve8oLeT=-_t96i_ctcmnM4kEPHD0cBjBroJTnYxwczBmw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-12 11:35               ` Laurent Pinchart
2013-07-12 11:56                 ` Andy Shevchenko

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=51C4EF85.7010607@linux.intel.com \
    --to=bin_gao-vuqaysv1563yd54fqh9/ca@public.gmane.org \
    --cc=andy.shevchenko-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=bin.gao-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
    --cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org \
    /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;
as well as URLs for NNTP newsgroup(s).