From: Bjorn Helgaas <bhelgaas@google.com>
To: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Jean Delvare <khali@linux-fr.org>,
"Rafael J. Wysocki" <rjw@sisk.pl>,
Linus Walleij <linus.walleij@linaro.org>,
Mark Brown <broonie@opensource.wolfsonmicro.com>,
linux-kernel@vger.kernel.org, lenb@kernel.org,
rafael.j.wysocki@intel.com, grant.likely@secretlab.ca,
ben-linux@fluff.org, w.sang@pengutronix.de,
mathias.nyman@linux.intel.com, linux-acpi@vger.kernel.org
Subject: Re: [PATCH 2/3] spi / ACPI: add ACPI enumeration support
Date: Mon, 5 Nov 2012 10:43:17 -0700 [thread overview]
Message-ID: <CAErSpo6h1uUG=Be8TmMeFcRcmTw2GWxChXUWOE0iS7oPNALNCQ@mail.gmail.com> (raw)
In-Reply-To: <20121105171248.GJ24532@intel.com>
On Mon, Nov 5, 2012 at 10:12 AM, Mika Westerberg
<mika.westerberg@linux.intel.com> wrote:
> On Mon, Nov 05, 2012 at 04:19:20PM +0100, Jean Delvare wrote:
>> On Mon, 5 Nov 2012 16:53:15 +0200, Mika Westerberg wrote:
>> > On Mon, Nov 05, 2012 at 03:19:58PM +0100, Rafael J. Wysocki wrote:
>> > >
>> > > In the ACPI namespace we have device nodes and serial interfaces below them.
>> > > In the above case we see that a single device node supports two different
>> > > interfaces and in that case we probably should create two different
>> > > struct i2c_adapter objects for the same ACPI device node.
>> > >
>> > > Mika, what do you think?
>> >
>> > I agree.
>> >
>> > Only problem I see is that then we have two I2C adapter devices with the
>> > same ACPI ID (and hence the same i2c_client->name). I wonder what the I2C
>> > core thinks about that.
>>
>> I2C core fears that you're mixing up everything ;) I2C adapter devices
>> are struct i2c_adapter aka i2c-0, i2c-1 etc. i2c_client is for slave
>> devices. There's nothing wrong with i2c_clients sharing ->name, that's
>> even how device driver matching is achieved. The uniqueness of
>> i2c_clients is on their bus_id which is the combination of i2c adapter
>> number and slave address (e.g. 0-0050)
>
> Yeah, I mixed I2C adapter and client. Thanks for correcting.
>
> So if we create one I2C adapter from the platform bus code as we do now and
> then for each I2CSerialBus connector we create one I2C client (well, the
> one that is created when i2c_new_device() is called), everything should
> work, right?
>
> Then I suggest that we have a list of serial bus resources in the struct
> acpi_device and create the I2C clients based on that.
>
>> i2c_adapter->name should, OTOH, be unique. In i2c bus drivers we
>> usually append the base I/O address at the end of the name to guarantee
>> that. ACPI will have to come up with something similar.
>
> It should already be unique in case of ACPI. We use ACPI _HID and _UID to
> achieve that.
Using only _HID and _UID to guarantee uniqueness means you're relying
on a property of the BIOS, so you're vulnerable to BIOS bugs.
If there's an ACPI Device for I2C adapters, why wouldn't you just use
its device name as set in acpi_device_register() (basically a _HID +
instance number)?
next prev parent reply other threads:[~2012-11-05 17:43 UTC|newest]
Thread overview: 119+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-03 7:46 [PATCH 0/3] ACPI 5 support for GPIO, SPI and I2C Mika Westerberg
2012-11-03 7:46 ` [PATCH 1/3] gpio / ACPI: add ACPI support Mika Westerberg
2012-11-05 11:53 ` Linus Walleij
2012-11-05 12:14 ` Mathias Nyman
2012-11-05 12:46 ` Rafael J. Wysocki
2012-11-05 13:11 ` Linus Walleij
2012-11-05 13:19 ` Rafael J. Wysocki
2012-11-05 13:28 ` Linus Walleij
2012-11-05 13:50 ` Rafael J. Wysocki
2012-11-05 14:40 ` Linus Walleij
2012-11-06 9:39 ` Mika Westerberg
2012-11-06 10:15 ` Linus Walleij
2012-11-07 8:54 ` Mika Westerberg
2012-11-08 15:55 ` Grant Likely
2012-11-08 19:38 ` Mika Westerberg
2012-11-09 14:11 ` Mathias Nyman
2012-11-09 14:18 ` Grant Likely
2012-11-09 15:05 ` Mathias Nyman
2012-11-09 15:46 ` Grant Likely
2012-11-11 9:50 ` Mika Westerberg
2012-11-03 7:46 ` [PATCH 2/3] spi / ACPI: add ACPI enumeration support Mika Westerberg
2012-11-03 19:42 ` Bjorn Helgaas
2012-11-03 20:13 ` Mika Westerberg
2012-11-03 20:59 ` Rafael J. Wysocki
2012-11-05 10:31 ` Rafael J. Wysocki
2012-11-05 10:56 ` Mika Westerberg
2012-11-05 10:56 ` Mark Brown
2012-11-05 12:02 ` Mika Westerberg
2012-11-05 12:23 ` Jean Delvare
2012-11-05 12:59 ` Rafael J. Wysocki
2012-11-05 13:15 ` Mika Westerberg
2012-11-05 13:20 ` Linus Walleij
2012-11-05 13:43 ` Mika Westerberg
2012-11-05 14:03 ` Jean Delvare
2012-11-05 14:19 ` Rafael J. Wysocki
2012-11-05 14:53 ` Mika Westerberg
2012-11-05 15:19 ` Jean Delvare
2012-11-05 17:12 ` Mika Westerberg
2012-11-05 17:43 ` Bjorn Helgaas [this message]
2012-11-05 18:08 ` Mika Westerberg
2012-11-05 17:49 ` Jean Delvare
2012-11-05 20:42 ` Linus Walleij
2012-11-06 8:11 ` Mark Brown
2012-11-05 16:54 ` Bjorn Helgaas
2012-11-06 13:43 ` Rafael J. Wysocki
2012-11-06 20:35 ` Bjorn Helgaas
2012-11-06 22:28 ` Rafael J. Wysocki
2012-11-06 22:36 ` Rafael J. Wysocki
2012-11-07 9:58 ` Mika Westerberg
2012-11-07 11:14 ` Rafael J. Wysocki
2012-11-07 13:05 ` Mika Westerberg
2012-11-08 0:46 ` Rafael J. Wysocki
2012-11-08 20:20 ` Mika Westerberg
2012-11-08 20:54 ` Rafael J. Wysocki
2012-11-08 18:05 ` Grant Likely
2012-11-08 21:06 ` Rafael J. Wysocki
2012-11-08 21:34 ` Grant Likely
2012-11-05 10:54 ` Mark Brown
2012-11-03 20:39 ` Rafael J. Wysocki
2012-11-05 16:54 ` Bjorn Helgaas
2012-11-06 13:16 ` Rafael J. Wysocki
2012-11-06 20:53 ` Bjorn Helgaas
2012-11-06 22:18 ` Rafael J. Wysocki
2012-11-07 9:56 ` Mika Westerberg
2012-11-08 19:32 ` Bjorn Helgaas
2012-11-08 20:04 ` Mika Westerberg
2012-11-09 15:11 ` Bjorn Helgaas
2012-11-09 15:45 ` Grant Likely
2012-11-09 16:35 ` Bjorn Helgaas
2012-11-09 16:43 ` Grant Likely
2012-11-09 16:48 ` Mark Brown
2012-11-09 16:53 ` Bjorn Helgaas
2012-11-10 11:10 ` Rafael J. Wysocki
2012-11-10 11:16 ` Grant Likely
2012-11-10 17:14 ` Bjorn Helgaas
2012-11-10 19:40 ` Rafael J. Wysocki
2012-11-05 10:54 ` Mark Brown
2012-11-05 11:03 ` Mika Westerberg
2012-11-05 11:13 ` Mark Brown
2012-11-08 18:48 ` Grant Likely
2012-11-09 3:50 ` Mika Westerberg
2012-11-03 7:46 ` [PATCH 3/3] i2c " Mika Westerberg
2012-11-03 21:52 ` Jean Delvare
2012-11-04 7:23 ` Mika Westerberg
2012-11-04 8:50 ` Jean Delvare
2012-11-04 10:50 ` Mika Westerberg
2012-11-08 18:58 ` Grant Likely
2012-11-09 3:51 ` Mika Westerberg
2012-11-04 18:29 ` [PATCH 0/3] ACPI 5 support for GPIO, SPI and I2C Linus Walleij
2012-11-05 9:23 ` Mika Westerberg
2012-11-12 11:51 ` [PATCH 0/3] Centralized parsing of ACPI device resources (was: Re: [PATCH 0/3] ACPI 5 support for GPIO, SPI and I2C) Rafael J. Wysocki
2012-11-12 12:00 ` [PATCH 1/3] ACPI: Move device resources interpretation code from PNP to ACPI core Rafael J. Wysocki
2012-11-12 13:27 ` Mika Westerberg
2012-11-12 20:25 ` [Update][PATCH " Rafael J. Wysocki
2012-11-12 12:01 ` [PATCH 2/3] ACPI / platform: Use common ACPI device resource parsing routines Rafael J. Wysocki
2012-11-12 12:02 ` [PATCH 3/3] ACPI: Evaluate _CRS while creating device node objects Rafael J. Wysocki
2012-11-12 14:46 ` Mika Westerberg
2012-11-12 21:03 ` Rafael J. Wysocki
2012-11-13 7:12 ` Mika Westerberg
2012-11-13 12:06 ` [Replacement][PATCH 3/3] Rafael J. Wysocki
2012-11-13 14:16 ` Mika Westerberg
2012-11-13 15:15 ` Rafael J. Wysocki
2012-11-13 15:18 ` Mika Westerberg
2012-11-13 15:28 ` Rafael J. Wysocki
2012-11-13 15:37 ` Mika Westerberg
2012-11-13 16:34 ` [PATCH 3/3] ACPI: Evaluate _CRS while creating device node objects Moore, Robert
2012-11-13 20:44 ` Rafael J. Wysocki
2012-11-13 22:06 ` Moore, Robert
2012-11-13 22:56 ` Rafael J. Wysocki
2012-11-14 2:23 ` Moore, Robert
2012-11-14 9:18 ` Rafael J. Wysocki
2012-11-14 9:32 ` Rafael J. Wysocki
2012-11-14 14:20 ` Moore, Robert
2012-11-13 20:51 ` [PATCH 0/3 rev 2] Centralized parsing of ACPI device resources Rafael J. Wysocki
2012-11-13 20:55 ` [PATCH 1/3 rev 2] ACPI: Move device resources interpretation code from PNP to ACPI core Rafael J. Wysocki
2012-11-13 20:55 ` [PATCH 2/3 rev 2] ACPI / platform: Use common ACPI device resource parsing routines Rafael J. Wysocki
2012-11-13 20:56 ` [PATCH 3/3 rev 2] ACPI: Centralized processing of ACPI device resources Rafael J. Wysocki
2012-11-14 9:52 ` [PATCH 0/3 rev 2] Centralized parsing " Mika Westerberg
2012-11-14 10:08 ` Rafael J. Wysocki
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='CAErSpo6h1uUG=Be8TmMeFcRcmTw2GWxChXUWOE0iS7oPNALNCQ@mail.gmail.com' \
--to=bhelgaas@google.com \
--cc=ben-linux@fluff.org \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=grant.likely@secretlab.ca \
--cc=khali@linux-fr.org \
--cc=lenb@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mathias.nyman@linux.intel.com \
--cc=mika.westerberg@linux.intel.com \
--cc=rafael.j.wysocki@intel.com \
--cc=rjw@sisk.pl \
--cc=w.sang@pengutronix.de \
/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).