mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@rjwysocki.net>
To: Matthew Garrett <mjg59@srcf.ucam.org>
Cc: "David E. Box" <david.e.box@linux.intel.com>,
	linux-kernel@vger.kernel.org,
	platform-driver-x86@vger.kernel.org, linux-acpi@vger.kernel.org
Subject: Re: [PATCHv2 2/2] ACPI/platform: Add ACPI ID for Intel MBI device
Date: Wed, 04 Dec 2013 22:34:45 +0100	[thread overview]
Message-ID: <16922953.M8X8XT9eUD@vostro.rjw.lan> (raw)
In-Reply-To: <20131204025407.GA26448@srcf.ucam.org>

On Wednesday, December 04, 2013 02:54:07 AM Matthew Garrett wrote:
> On Tue, Dec 03, 2013 at 06:44:52PM -0800, David E. Box wrote:
> > On Wed, Dec 04, 2013 at 02:21:30AM +0000, Matthew Garrett wrote:
> > > Well sure, but why do you need to be a platform device at all? This 
> > > functionality was intended for cases where we already have a driver for 
> > > the part that enumerated it via some other mechanism. If the driver's 
> > > only intended for ACPI systems then why not just be an ACPI device?

Because struct acpi_device things are firmawre objects that shouldn't be
treated as devices.

> > 
> > It was my understanding that with ACPI 5.0 it was becoming more common to use
> > ACPI ID's exclusively for device enumeration. I originally wrote this as an
> > acpi_bus driver but Rafeal advised me that the model is being phased out and
> > suggeted the platform model instead.
> 
> If you're not adding ACPI support to an existing platform driver, you 
> shouldn't be adding entries to acpi_platform.c. I'm not actually happy 
> that I merged the ideapad-laptop patch that did the same thing - I'm 
> inclined to revert it, because this really is an ugly way to do things.
> 
> Rafael, why did we convert the AC driver this way? It means we have to 
> keep track of ACPI IDs in multiple places,

Yes, in two places to be precise.

> which is worth it when it avoids having to write a pile of new code (such as
> the sdhci case) but doesn't seem to provide benefits otherwise.

Well, I thought we discussed that, but perhaps we didn't.

There's some confusion about what a struct acpi_device is, because sometimes it
is treated as a "companion" of a physical device and sometimes it is treated as
a physical device itself.  This leads to incorrect code as well sometimes,
because ACPI drivers may attempt to bind to things that already have physical
comapnions, for example.

The approach to this I thought we could use, and that we've been using to some
extent already, is to create "physical" companions for all struct acpi_device
objects.  In this particular this "physical companion" is a platform device, so
it needs to be added to the list in acpi_platform.c.  [Otherwise the ACPI PNP
core would create a PNP device for it (unless an ACPI driver is bound to that
struct acpi_device before, but that makes the correctness of the thing depend
on the ordering of driver probing, which is not awesome).]

In this approach device drivers bind to the "physical" devices (platform devices
etc.) instead of struct acpi_device themselves and at least everything is
consistent.

Thanks,
Rafael


  reply	other threads:[~2013-12-04 21:21 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-22  6:05 [PATCH 1/2] New Driver for IOSF-SB MBI access on Intel SOCs David E. Box
2013-11-22  6:05 ` [PATCH 2/2] ACPI / platform: Add ACPI ID for Intel IOSF-SB David E. Box
2013-11-22 18:18 ` [PATCH 1/2] New Driver for IOSF-SB MBI access on Intel SOCs Matthew Garrett
2013-11-24  0:41 ` One Thousand Gnomes
2013-12-03 23:59 ` [PATCHv2 0/2] New driver for Intel IOSF MBI access David E. Box
2013-12-03 23:59   ` [PATCHv2 1/2] New Driver for IOSF-SB MBI access on Intel SOCs David E. Box
2013-12-04  6:44     ` Andi Kleen
2013-12-03 23:59   ` [PATCHv2 2/2] ACPI/platform: Add ACPI ID for Intel MBI device David E. Box
2013-12-04  1:30     ` Matthew Garrett
2013-12-04  2:17       ` David E. Box
2013-12-04  2:21         ` Matthew Garrett
2013-12-04  2:44           ` David E. Box
2013-12-04  2:54             ` Matthew Garrett
2013-12-04 21:34               ` Rafael J. Wysocki [this message]
2013-12-05 20:01   ` [PATCH] X86 platform: New IOSF-SB MBI driver for Intel SOCs David E. Box
2013-12-05 22:32     ` Rafael J. Wysocki
2013-12-06 20:59   ` [PATCH] X86 platform: New BayTrail IOSF-SB MBI driver David E. Box
2013-12-07  1:29     ` Rafael J. Wysocki
2013-12-10  1:11       ` David E. Box
2013-12-19 22:37     ` [PATCH v5][RESEND] " David E. Box
2013-12-20  1:59       ` Rafael J. Wysocki
2013-12-20  7:01         ` David E. Box
2013-12-30 18:12       ` [PATCH v6] " David E. Box
2014-01-07 18:03         ` [PATCH v6][RESEND] platform: x86: " David E. Box
2014-01-07 18:15           ` Randy Dunlap
2014-01-07 18:48             ` David E. Box
2014-01-07 19:30               ` Randy Dunlap
2014-01-07 20:46               ` Rafael J. Wysocki
2014-01-07 21:43                 ` David E. Box
2014-01-08  0:11                   ` Rafael J. Wysocki
2014-01-08  0:00                     ` H. Peter Anvin
2014-01-08  5:27                     ` David E. Box
2014-01-08 13:47                       ` Rafael J. Wysocki
2014-01-08 21:27       ` [PATCH v7] arch: x86: New MailBox support driver for Intel SOC's David E. Box
2014-01-10 22:10         ` [tip:x86/platform] " tip-bot for David E. Box

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=16922953.M8X8XT9eUD@vostro.rjw.lan \
    --to=rjw@rjwysocki.net \
    --cc=david.e.box@linux.intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mjg59@srcf.ucam.org \
    --cc=platform-driver-x86@vger.kernel.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

all inboxes | Powered by JetHome®