From: Toshi Kani <toshi.kani@hp.com>
To: linux-acpi@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, lenb@kernel.org,
bhelgaas@google.com, liuj97@gmail.com,
isimatu.yasuaki@jp.fujitsu.com, Toshi Kani <toshi.kani@hp.com>
Subject: [RFC PATCH 0/5] ACPI: Refactor system notify handling
Date: Thu, 30 Aug 2012 14:16:01 -0600 [thread overview]
Message-ID: <1346357766-14030-1-git-send-email-toshi.kani@hp.com> (raw)
This patchset updates the ACPI system-level (ex. hotplug)
notify handling with a new .sys_notify interface. It provides
the following changes:
- Allow ACPI drivers to register their system (hotplug) notify
handlers to a new .sys_notify interface in their acpi_driver
table. This removes redundant ACPI namespace walks from ACPI
drivers for faster booting. The global notify handler
acpi_bus_notify() is called for all system-level ACPI device
notification, which then calls an appropriate driver's handler
if any. ACPI drivers no longer need to register or unregister
driver's handlers to each device object in ACPI namespace.
- Support dynamic ACPI namespace with LoadTable & Unload opcode
without any changes in ACPI drivers. There is no need to
register / unregister handlers to ACPI device objects that may
be loaded to / unloaded from ACPI namespace.
- Allow ACPI drivers to use a common hotplug handler when it is
implemented. It removes functional conflict between driver's
notify handler and the global notify handler acpi_bus_notify().
acpi_bus_notify() only calls an appropriate notify handler if
any.
Note that the changes maintain the backward compatibility of ACPI
drivers. Any ACPI driver registered its hotplug handler through
the existing interfaces, such as acpi_install_notify_handler() and
register_acpi_bus_notifier(), will continue to work as before.
---
Toshi Kani (5):
ACPI: Add acpi_lookup_driver() function
ACPI: Support system notify handler via .sys_notify
ACPI: Update processor_driver to use .sys_notify
ACPI: Update acpi_memhotplug to use .sys_notify
ACPI: Update container to use .sys_notify
---
drivers/acpi/acpi_memhotplug.c | 93 +-------------------------------------
drivers/acpi/bus.c | 48 +++++++++++++++-----
drivers/acpi/container.c | 66 +--------------------------
drivers/acpi/processor_driver.c | 82 +++-------------------------------
drivers/acpi/scan.c | 65 +++++++++++++++++++++++++++
include/acpi/acpi_bus.h | 4 ++
6 files changed, 117 insertions(+), 241 deletions(-)
next reply other threads:[~2012-08-30 20:21 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-30 20:16 Toshi Kani [this message]
2012-08-30 20:16 ` [RFC PATCH 1/5] ACPI: Add acpi_lookup_driver() function Toshi Kani
2012-08-31 5:42 ` Bjorn Helgaas
2012-08-31 16:24 ` Toshi Kani
2012-09-06 23:52 ` Toshi Kani
2012-08-30 20:16 ` [RFC PATCH 2/5] ACPI: Support system notify handler via .sys_notify Toshi Kani
2012-08-30 20:16 ` [RFC PATCH 3/5] ACPI: Update processor_driver to use .sys_notify Toshi Kani
2012-08-30 20:16 ` [RFC PATCH 4/5] ACPI: Update acpi_memhotplug " Toshi Kani
2012-08-30 20:16 ` [RFC PATCH 5/5] ACPI: Update container " Toshi Kani
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=1346357766-14030-1-git-send-email-toshi.kani@hp.com \
--to=toshi.kani@hp.com \
--cc=bhelgaas@google.com \
--cc=isimatu.yasuaki@jp.fujitsu.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=liuj97@gmail.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 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).