Thread (24 messages) 24 messages, 7 authors, 2017-03-27

[PATCH V7 5/7] ACPI: Delay the enumeration on the devices whose dependency has not met

From: arnd@arndb.de (Arnd Bergmann)
Date: 2017-03-16 10:13:06
Also in: linux-acpi, linux-devicetree, linux-pci, linux-serial, lkml

On Thu, Mar 16, 2017 at 3:21 AM, zhichang.yuan
[off-list ref] wrote:
Hi, Rafael,

Thanks for your review!

On 2017/3/14 5:24, Rafael J. Wysocki wrote:
quoted
On Monday, March 13, 2017 10:42:41 AM zhichang.yuan wrote:
quoted
In commit 40e7fcb1929(ACPI: Add _DEP support to fix battery issue on Asus
T100TA), the '_DEP' was supported to solve the dependency of Asus battery. But
this patch is specific to Asus battery device.
In the real world, there are other devices which need the dependency to play the
role on the enumeration order. For example, all the Hip06 LPC
periperals(IPMI-BT, uart, etc) must be scanned after the LPC host driver
finished the probing. So, it makes sense to add a checking whether the ACPI
device meet all the dependencies during its enumeration slot, if not, the
enumeration will be delayed till all dependency master finish their work.

This patch adds the dependency checking in ACPI enumeration, also the
corresponding handling to retrigger the Hip06 LPC peripherals' scanning.
AFAICS, _DEP is generally abused in the wild and cannot be made generic.  Sorry.
From the ACPI specification, _DEP is for operation region accesses.
You are right...

How about we add a ACPI handler for our LPC bus?? Just like amba.
In this way, we also can solve the issue about LPC enumeration order.
As far as I can tell, PCI and LPC have exactly the same requirement here,
so whatever you end up doing for one should be used for the other as well.

      Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help