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

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

From: Gabriele Paoloni <hidden>
Date: 2017-03-14 08:15:29
Also in: linux-acpi, linux-arm-kernel, linux-pci, linux-serial, lkml

Hi Rafael

Many thanks for your review
-----Original Message-----
From: Rafael J. Wysocki [mailto:rjw@rjwysocki.net]
Sent: 13 March 2017 21:25
To: Yuanzhichang
Cc: catalin.marinas@arm.com; will.deacon@arm.com; robh+dt@kernel.org;
frowand.list@gmail.com; bhelgaas@google.com; rafael@kernel.org;
mark.rutland@arm.com; arnd@arndb.de; linux-arm-
kernel@lists.infradead.org; linux-acpi@vger.kernel.org;
lorenzo.pieralisi@arm.com; benh@kernel.crashing.org; linux-
kernel@vger.kernel.org; Linuxarm; devicetree@vger.kernel.org; linux-
pci@vger.kernel.org; linux-serial@vger.kernel.org; minyard@acm.org;
liviu.dudau@arm.com; zourongrong@gmail.com; John Garry; Gabriele
Paoloni; zhichang.yuan02@gmail.com; kantyzc@163.com; xuwei (O)
Subject: Re: [PATCH V7 5/7] ACPI: Delay the enumeration on the devices
whose dependency has not met

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
quoted
T100TA), the '_DEP' was supported to solve the dependency of Asus
battery. But
quoted
this patch is specific to Asus battery device.
In the real world, there are other devices which need the dependency
to play the
quoted
role on the enumeration order. For example, all the Hip06 LPC
periperals(IPMI-BT, uart, etc) must be scanned after the LPC host
driver
quoted
finished the probing. So, it makes sense to add a checking whether
the ACPI
quoted
device meet all the dependencies during its enumeration slot, if not,
the
quoted
enumeration will be delayed till all dependency master finish their
work.
quoted
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.
Another option here would be to revert this patch and add a dependency
check in the probe functions of the LPC possible children nodes (e.g. 
in the IPMI driver:
http://elixir.free-electrons.com/source/drivers/char/ipmi/ipmi_si_intf.c?v=4.10#L2683
)  

we could add 

	if (device->dep_unmet)
		return -EPROBE_DEFER;

as we now have in acpi/battery.c...

I think this should not make any difference for current shipped FW that has
got no DEP method...

What do you think?

Many Thanks
Gab
Thanks,
Rafael
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help