From: Octavian Purdila <octavian.purdila@intel.com>
To: "Rafael J. Wysocki" <rjw@rjwysocki.net>,
Len Brown <lenb@kernel.org>,
Matt Fleming <matt@codeblueprint.co.uk>,
Mark Brown <broonie@kernel.org>, Wolfram Sang <wsa@the-dreams.de>
Cc: Joel Becker <jlbec@evilplan.org>, Christoph Hellwig <hch@lst.de>,
linux-acpi@vger.kernel.org, linux-efi@vger.kernel.org,
linux-i2c@vger.kernel.org, linux-spi@vger.kernel.org,
linux-kernel@vger.kernel.org, irina.tirdea@intel.com,
Octavian Purdila <octavian.purdila@intel.com>
Subject: [RFC PATCH 00/10] ACPI overlays
Date: Thu, 31 Mar 2016 12:36:56 +0300 [thread overview]
Message-ID: <1459417026-6697-1-git-send-email-octavian.purdila@intel.com> (raw)
This patch set enables custom ACPI board configuration by adding
mechanisms in the Linux kernel for loading user defined SSDTs.
In order to support ACPI open-ended hardware configurations we need a
way to augment the ACPI configuration provided by the firmware
image. A common example is connecting sensors on I2C / SPI buses on
development boards.
Although this can be accomplished by creating a kernel platform driver
or recompiling the firmware image with updated ACPI tables, neither is
practical: the former proliferates board specific kernel code while
the latter requires access to firmware tools which are often not
publicly available.
Because ACPI supports external references in AML code a more practical
way to augment firmware ACPI configuration is by dynamically loading
user defined SSDT tables that contain the board specific information.
This patch sets provides three methods for loading custom SSDTs:
* From an EFI variable
This is the preferred method, when EFI is supported on the platform,
because it allows a persistent, OS independent way of storing and
updating the user defined SSDTs. There is also work underway to
implement EFI support for loading user defined SSDTs and using this
method will make it easier to convert to the EFI loading mechanism
when that will arrive.
* From the first uncompressed initrd (similar with the override
functionality)
This is useful when EFI is not supported on the platform and when it
is not possible to defer the loading to userspace.
* From userspace via configfs
This is useful when we want to defer the operation to userspace for
platform detection, loading the SSDTs from a custom partition, etc.
Octavian Purdila (10):
kernel: add TAINT_OVERLAY_ACPI_TABLE
acpi: install SSDT tables from initrd
acpi: add support for ACPI reconfiguration notifiers
acpi: fix enumeration (visited) flags for bus rescans
i2c: add support for ACPI reconfigure notifications
spi: add support for ACPI reconfigure notifications
efi: load SSTDs from EFI variables
configfs: fix CONFIGFS_BIN_ATTR_[RW]O definitions
acpi: add support for configfs
acpi: add support for loading SSDTs via configfs
Documentation/ABI/testing/configfs-acpi | 23 +++++
Documentation/acpi/ssdt-overlays.txt | 174 ++++++++++++++++++++++++++++++++
Documentation/kernel-parameters.txt | 7 ++
Documentation/oops-tracing.txt | 2 +
Documentation/sysctl/kernel.txt | 1 +
MAINTAINERS | 1 +
drivers/acpi/Kconfig | 9 ++
drivers/acpi/Makefile | 1 +
drivers/acpi/bus.c | 72 +++++++++++++
drivers/acpi/configfs.c | 143 ++++++++++++++++++++++++++
drivers/acpi/internal.h | 3 +
drivers/acpi/scan.c | 73 +++++++++++++-
drivers/acpi/sysfs.c | 6 +-
drivers/firmware/efi/efi.c | 107 ++++++++++++++++++++
drivers/i2c/i2c-core.c | 38 ++++++-
drivers/spi/spi.c | 36 ++++++-
include/acpi/acpi_bus.h | 8 ++
include/linux/configfs.h | 4 +-
include/linux/kernel.h | 1 +
kernel/panic.c | 2 +
20 files changed, 699 insertions(+), 12 deletions(-)
create mode 100644 Documentation/ABI/testing/configfs-acpi
create mode 100644 Documentation/acpi/ssdt-overlays.txt
create mode 100644 drivers/acpi/configfs.c
--
1.9.1
next reply other threads:[~2016-03-31 9:36 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-31 9:36 Octavian Purdila [this message]
2016-03-31 9:36 ` [RFC PATCH 01/10] kernel: add TAINT_OVERLAY_ACPI_TABLE Octavian Purdila
2016-03-31 9:36 ` [RFC PATCH 02/10] acpi: install SSDT tables from initrd Octavian Purdila
2016-04-01 5:05 ` Zheng, Lv
2016-04-01 5:05 ` Zheng, Lv
2016-04-01 10:11 ` Octavian Purdila
[not found] ` <CAE1zotJ1fa4m-_FO3PUQK8_p0vHcfWD5TmuMdxOSHDjku421pA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-04-04 13:07 ` Octavian Purdila
2016-04-04 13:07 ` Octavian Purdila
2016-04-05 0:49 ` Zheng, Lv
2016-04-05 7:23 ` Octavian Purdila
2016-04-06 6:15 ` Zheng, Lv
2016-04-05 0:57 ` Zheng, Lv
2016-04-05 0:57 ` Zheng, Lv
2016-03-31 9:36 ` [RFC PATCH 03/10] acpi: add support for ACPI reconfiguration notifiers Octavian Purdila
2016-03-31 9:37 ` [RFC PATCH 04/10] acpi: fix enumeration (visited) flags for bus rescans Octavian Purdila
2016-03-31 9:37 ` [RFC PATCH 05/10] i2c: add support for ACPI reconfigure notifications Octavian Purdila
2016-03-31 9:37 ` [RFC PATCH 06/10] spi: " Octavian Purdila
[not found] ` <1459417026-6697-7-git-send-email-octavian.purdila-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-03-31 17:29 ` Mark Brown
2016-03-31 17:29 ` Mark Brown
2016-04-01 10:54 ` Octavian Purdila
2016-04-01 14:08 ` Mark Brown
2016-04-01 19:26 ` Rafael J. Wysocki
2016-04-02 16:24 ` Mark Brown
2016-04-04 10:25 ` Octavian Purdila
2016-04-04 16:03 ` Mark Brown
2016-04-04 19:34 ` Octavian Purdila
[not found] ` <CAE1zot+ESGBEYeUbLTreKfkc-6B45uQq3PWhhRfBo1AWd-7Vxw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-04-04 21:18 ` Rafael J. Wysocki
2016-04-04 21:18 ` Rafael J. Wysocki
[not found] ` <CAJZ5v0gV8N6zgVrwtRFaY98Wv1HsoKs+4=U-s_V29FSpCdFW3g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-04-05 11:49 ` Octavian Purdila
2016-04-05 11:49 ` Octavian Purdila
2016-04-05 18:32 ` Mark Brown
[not found] ` <20160405183255.GH1924-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2016-04-05 19:16 ` Octavian Purdila
2016-04-05 19:16 ` Octavian Purdila
[not found] ` <CAE1zotL7X+di4rHecRW_G-45wUPbbNb9jvn3C_zjD4XttZ4v3w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-04-05 21:20 ` Mark Brown
2016-04-05 21:20 ` Mark Brown
2016-04-05 18:24 ` Mark Brown
2016-04-05 18:24 ` Mark Brown
[not found] ` <1459417026-6697-1-git-send-email-octavian.purdila-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-03-31 9:37 ` [RFC PATCH 07/10] efi: load SSTDs from EFI variables Octavian Purdila
2016-03-31 9:37 ` Octavian Purdila
2016-03-31 9:37 ` [RFC PATCH 08/10] configfs: fix CONFIGFS_BIN_ATTR_[RW]O definitions Octavian Purdila
2016-03-31 9:37 ` [RFC PATCH 09/10] acpi: add support for configfs Octavian Purdila
2016-03-31 9:37 ` [RFC PATCH 10/10] acpi: add support for loading SSDTs via configfs Octavian Purdila
[not found] ` <1459417026-6697-11-git-send-email-octavian.purdila-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-04-01 4:55 ` Zheng, Lv
2016-04-01 4:55 ` Zheng, Lv
2016-04-01 4:55 ` Zheng, Lv
[not found] ` <1AE640813FDE7649BE1B193DEA596E883BB66233-0J0gbvR4kThpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-04-01 10:01 ` Octavian Purdila
2016-04-01 10:01 ` Octavian Purdila
2016-04-05 3:11 ` Zheng, Lv
[not found] ` <1AE640813FDE7649BE1B193DEA596E883BB6677B-0J0gbvR4kThpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-04-05 8:21 ` Octavian Purdila
2016-04-05 8:21 ` Octavian Purdila
2016-04-06 6:05 ` Zheng, Lv
[not found] ` <1AE640813FDE7649BE1B193DEA596E883BB66B8C-0J0gbvR4kThpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2016-04-06 18:46 ` Octavian Purdila
2016-04-06 18:46 ` Octavian Purdila
[not found] ` <CAE1zotKa+t5cxznWfPyQ599k9ZB=akOuEDZusWcJgzux8wqp5A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-04-07 2:42 ` Zheng, Lv
2016-04-07 2:42 ` Zheng, Lv
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=1459417026-6697-1-git-send-email-octavian.purdila@intel.com \
--to=octavian.purdila@intel.com \
--cc=broonie@kernel.org \
--cc=hch@lst.de \
--cc=irina.tirdea@intel.com \
--cc=jlbec@evilplan.org \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-efi@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=matt@codeblueprint.co.uk \
--cc=rjw@rjwysocki.net \
--cc=wsa@the-dreams.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 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.