From: Aaron Lu <aaron.lu@intel.com>
To: Tejun Heo <tj@kernel.org>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>,
James Bottomley <James.Bottomley@HansenPartnership.com>,
Jeff Wu <jeff.wu@amd.com>, Shane Huang <shane.huang@amd.com>,
Matthew Garrett <mjg@redhat.com>, Holger Macht <holger@homac.de>,
Zhang Rui <rui.zhang@intel.com>,
linux-ide@vger.kernel.org, linux-acpi@vger.kernel.org,
linux-scsi@vger.kernel.org
Subject: Re: [RFC PATCH 2/2] ata: acpi: rework the ata acpi bind support
Date: Fri, 26 Jul 2013 09:37:09 +0800 [thread overview]
Message-ID: <51F1D2C5.1050809@intel.com> (raw)
In-Reply-To: <20130725145229.GB26107@mtj.dyndns.org>
On 07/25/2013 10:52 PM, Tejun Heo wrote:
> On Thu, Jul 25, 2013 at 01:47:03PM +0800, Aaron Lu wrote:
>> Binding ACPI handle to SCSI device has several drawbacks, namely:
>> 1 During ATA device initialization time, ACPI handle will be needed
>> while SCSI devices are not created yet. So each time ACPI handle is
>> needed, instead of retrieving the handle by ACPI_HANDLE macro,
>> a namespace scan is performed to find the handle for the corresponding
>> ATA device. This is inefficient, and also expose a restriction on
>> calling path not holding any lock.
>> 2 The binding to SCSI device tree makes code complex, while at the same
>> time doesn't bring us any benefit. All ACPI handlings are still done
>> in ATA module, not in SCSI.
>>
>> Rework the ATA ACPI binding code to bind ACPI handle to ATA transport
>> devices(ATA port and ATA device). The binding needs to be done only once,
>> since the ATA transport devices do not go away with hotplug. And due to
>> this, the flush_work call in hotplug handler for ATA bay is no longer
>> needed.
>
> I like it but am wondering why we weren't doing this before. Was the
> acpi support added before we made ata objects proper devices?
I think so. But since I didn't do the original binding, I can only guess
:-)
At the time of the original binding, ACPI binding logic requires the
binding device has a bus type, which these ATA transport devices don't
have.
Later, the ACPI binding code evolves and no such limitation exists
anymore. As you can see, we can simply set the ACPI handle before this
device is added in driver core, and the binding will be done.
Thanks,
Aaron
next prev parent reply other threads:[~2013-07-26 1:37 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-25 5:47 [RFC PATCH 0/2] Rework ATA ACPI binding code Aaron Lu
2013-07-25 5:47 ` [RFC PATCH 1/2] ata: acpi: remove dead code for ata_acpi_(un)bind Aaron Lu
2013-07-25 14:50 ` Tejun Heo
2013-07-25 5:47 ` [RFC PATCH 2/2] ata: acpi: rework the ata acpi bind support Aaron Lu
2013-07-25 14:52 ` Tejun Heo
2013-07-26 1:37 ` Aaron Lu [this message]
2013-07-26 12:48 ` Rafael J. Wysocki
2013-07-27 6:34 ` Matthew Garrett
2013-08-15 1:33 ` Aaron Lu
2013-08-15 3:19 ` Tejun Heo
2013-08-22 7:15 ` Aaron Lu
2013-08-22 18:36 ` Tejun Heo
2013-08-23 2:17 ` [PATCH " Aaron Lu
2013-08-23 16:11 ` Tejun Heo
2013-08-23 7:02 ` [RFC PATCH " Dirk Griesbach
2013-08-23 7:08 ` Aaron Lu
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=51F1D2C5.1050809@intel.com \
--to=aaron.lu@intel.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=holger@homac.de \
--cc=jeff.wu@amd.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=mjg@redhat.com \
--cc=rjw@sisk.pl \
--cc=rui.zhang@intel.com \
--cc=shane.huang@amd.com \
--cc=tj@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 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.