[PATCH V7 5/7] ACPI: Delay the enumeration on the devices whose dependency has not met
arnd at arndb.de
Thu Mar 16 03:13:01 PDT 2017
On Thu, Mar 16, 2017 at 3:21 AM, zhichang.yuan
<yuanzhichang at hisilicon.com> wrote:
> Hi, Rafael,
> Thanks for your review!
> On 2017/3/14 5:24, Rafael J. Wysocki wrote:
>> On Monday, March 13, 2017 10:42:41 AM zhichang.yuan wrote:
>>> 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.
More information about the linux-arm-kernel