Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1437462

Re: [PATCH v5 0/8] ACPI overlays

From Octavian Purdila <octavian.purdila@intel.com>
Newsgroups linux.kernel
Subject Re: [PATCH v5 0/8] ACPI overlays
Date 2016-07-06 08:30 +0200
Message-ID <rROvn-5Cf-5@gated-at.bofh.it> (permalink)
References <rQdey-2Hg-1@gated-at.bofh.it> <rRJ2F-1R3-15@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Wed, Jul 6, 2016 at 3:34 AM, Rafael J. Wysocki <rjw@rjwysocki.net> wrote:
> On Friday, July 01, 2016 11:19:04 PM Octavian Purdila wrote:
>> 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.
>>
>> Currently it is possible to load SSDT overlays using the upgrade
>> initrd mechanism introduced in 4.7. This patch series adds support for
>> two more methods:
>>
>> * 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 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.
>>
>>
>> Changes from v4:
>>
>> * EFI: use ucs2_as_utf8 and memcmp to check if the variable name
>>   matches the kernel command line parameter; fold the EFI ACPI table
>>   load code in the iterator function
>>
>> * I2C/SPI: add more information in the commit logs about how the
>>   enumeration status is set and checked; also add a new check of the
>>   enumerated status for the ACPI device remove reconfiguration
>>   notification
>>
>> Changes from v3:
>>
>> * fix a bisectability issue reported by kbuild
>>
>> * rework the enumeration fix to support PRP0001 enumeration; also,
>>   introduce acpi_device_set/clear_enumerated() for clarity
>>
>> * clear the enumerated status for acpi_device when the I2C/SPI clients
>>   are removed (for example as a result of an adapter removal) to allow
>>   the devices to be re-enumerated later
>>
>> Changes from v2:
>>
>> * fix a few issues caught by the kbuild test robot
>>
>> * add more configfs table attributes
>>
>> * removed the initrd based loading functionality from this patch set
>>   as this can already be accomplished in 4.7 using the ACPI table
>>   upgrade mechanism
>>
>> * rebased to 4.7-rc3
>>
>> Changes from v1:
>>
>> * rebased on top of the ACPI install from initrd table functionality;
>>   there is significant overlap between the 1st patch in this series
>>   and these patch [1] from Lv - I kept it in this series until the
>>   discussions around the taint and config option are resolved
>>
>> * make sure EFI_RUNTIME_SERVICES are available before trying to use
>>   EFI variables to load tables
>>
>> * rework the ACPI reconfiguration notifications to work on device
>>   granularity (device added or removed) instead of table granularity
>>   (table loaded or unloaded)
>>
>> * add support for table unloading / device removal
>>
>> * note that the last patch is just a hack to be able to test the table
>>   unload / device remove functionality, if someone wants to try out
>>   this patch set
>>
>> [1] https://patchwork.kernel.org/patch/8795931/
>>
>> Octavian Purdila (8):
>>   Documentation: acpi: add SSDT overlays documentation
>>   acpi: fix enumeration (visited) flags for bus rescans
>>   acpi: add support for ACPI reconfiguration notifiers
>>   i2c: add support for ACPI reconfigure notifications
>>   spi: add support for ACPI reconfigure notifications
>>   efi: load SSTDs from EFI variables
>>   acpi: add support for configfs
>>   acpi: add support for loading SSDTs via configfs
>>
>>  Documentation/ABI/testing/configfs-acpi |  36 +++++
>>  Documentation/acpi/ssdt-overlays.txt    | 172 ++++++++++++++++++++
>>  Documentation/kernel-parameters.txt     |   7 +
>>  MAINTAINERS                             |   1 +
>>  drivers/acpi/Kconfig                    |   9 ++
>>  drivers/acpi/Makefile                   |   1 +
>>  drivers/acpi/bus.c                      |   9 ++
>>  drivers/acpi/configfs.c                 | 267 ++++++++++++++++++++++++++++++++
>>  drivers/acpi/internal.h                 |   3 +
>>  drivers/acpi/scan.c                     |  81 +++++++++-
>>  drivers/acpi/sysfs.c                    |   6 +-
>>  drivers/firmware/efi/efi.c              |  85 ++++++++++
>>  drivers/i2c/i2c-core.c                  | 175 ++++++++++++++++-----
>>  drivers/spi/spi.c                       | 100 +++++++++++-
>>  include/linux/acpi.h                    |  36 +++++
>>  15 files changed, 932 insertions(+), 56 deletions(-)
>>  create mode 100644 Documentation/ABI/testing/configfs-acpi
>>  create mode 100644 Documentation/acpi/ssdt-overlays.txt
>>  create mode 100644 drivers/acpi/configfs.c
>
> It looks like all patches in this series except for the [6/8] are good to go.
>
> Do any of them depend on the [6/8]?
>

Yes, 6/8 and 8/8 both touch Documentation/acpi/ssdt-overlays.txt, but
it should be trivial to fix 8/8 if we pull out 6/8.

I've send an updated v6 for 6/8 only that fixes the issue Matt and
Geert noticed, so maybe its worth waiting for a couple of days for
Matt's review.

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[PATCH v5 0/8]  ACPI overlays Octavian Purdila <octavian.purdila@intel.com> - 2016-07-01 22:30 +0200
  [PATCH v5 2/8] acpi: fix enumeration (visited) flags for bus rescans Octavian Purdila <octavian.purdila@intel.com> - 2016-07-01 22:30 +0200
    Re: [PATCH v5 2/8] acpi: fix enumeration (visited) flags for bus  rescans Mika Westerberg <mika.westerberg@linux.intel.com> - 2016-07-06 17:10 +0200
      Re: [PATCH v5 2/8] acpi: fix enumeration (visited) flags for bus rescans Octavian Purdila <octavian.purdila@intel.com> - 2016-07-06 17:40 +0200
        Re: [PATCH v5 2/8] acpi: fix enumeration (visited) flags for bus rescans "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2016-07-06 23:10 +0200
          Re: [PATCH v5 2/8] acpi: fix enumeration (visited) flags for bus  rescans Mika Westerberg <mika.westerberg@linux.intel.com> - 2016-07-07 11:10 +0200
    Re: [PATCH v5 2/8] acpi: fix enumeration (visited) flags for bus  rescans Mika Westerberg <mika.westerberg@linux.intel.com> - 2016-07-07 11:30 +0200
  [PATCH v5 7/8] acpi: add support for configfs Octavian Purdila <octavian.purdila@intel.com> - 2016-07-01 22:30 +0200
    Re: [PATCH v5 7/8] acpi: add support for configfs Mika Westerberg <mika.westerberg@linux.intel.com> - 2016-07-07 11:50 +0200
  [PATCH v5 3/8] acpi: add support for ACPI reconfiguration notifiers Octavian Purdila <octavian.purdila@intel.com> - 2016-07-01 22:30 +0200
    Re: [PATCH v5 3/8] acpi: add support for ACPI reconfiguration  notifiers Mika Westerberg <mika.westerberg@linux.intel.com> - 2016-07-07 11:40 +0200
  [PATCH v5 6/8] efi: load SSTDs from EFI variables Octavian Purdila <octavian.purdila@intel.com> - 2016-07-01 22:30 +0200
    Re: [PATCH v5 6/8] efi: load SSTDs from EFI variables Geert Uytterhoeven <geert@linux-m68k.org> - 2016-07-02 10:20 +0200
    Re: [PATCH v5 6/8] efi: load SSTDs from EFI variables Matt Fleming <matt@codeblueprint.co.uk> - 2016-07-04 14:10 +0200
  [PATCH v5 1/8] Documentation: acpi: add SSDT overlays documentation Octavian Purdila <octavian.purdila@intel.com> - 2016-07-01 22:30 +0200
    Re: [PATCH v5 1/8] Documentation: acpi: add SSDT overlays  documentation Mika Westerberg <mika.westerberg@linux.intel.com> - 2016-07-07 11:30 +0200
  [PATCH v5 8/8] acpi: add support for loading SSDTs via configfs Octavian Purdila <octavian.purdila@intel.com> - 2016-07-01 22:30 +0200
    Re: [PATCH v5 8/8] acpi: add support for loading SSDTs via configfs Mika Westerberg <mika.westerberg@linux.intel.com> - 2016-07-07 11:50 +0200
  [PATCH v5 5/8] spi: add support for ACPI reconfigure notifications Octavian Purdila <octavian.purdila@intel.com> - 2016-07-01 22:30 +0200
    Re: [PATCH v5 5/8] spi: add support for ACPI reconfigure  notifications Mark Brown <broonie@kernel.org> - 2016-07-03 14:20 +0200
  [PATCH v5 4/8] i2c: add support for ACPI reconfigure notifications Octavian Purdila <octavian.purdila@intel.com> - 2016-07-01 22:30 +0200
    Re: [PATCH v5 4/8] i2c: add support for ACPI reconfigure  notifications Wolfram Sang <wsa@the-dreams.de> - 2016-07-04 02:40 +0200
  Re: [PATCH v5 0/8]  ACPI overlays "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2016-07-06 02:40 +0200
    Re: [PATCH v5 0/8] ACPI overlays Octavian Purdila <octavian.purdila@intel.com> - 2016-07-06 08:30 +0200

csiph-web