Hi Rafael Many thanks for your review > -----Original Message----- > From: Rafael J. Wysocki [mailto:rjw@xxxxxxxxxxxxx] > Sent: 13 March 2017 21:25 > To: Yuanzhichang > Cc: catalin.marinas@xxxxxxx; will.deacon@xxxxxxx; robh+dt@xxxxxxxxxx; > frowand.list@xxxxxxxxx; bhelgaas@xxxxxxxxxx; rafael@xxxxxxxxxx; > mark.rutland@xxxxxxx; arnd@xxxxxxxx; linux-arm- > kernel@xxxxxxxxxxxxxxxxxxx; linux-acpi@xxxxxxxxxxxxxxx; > lorenzo.pieralisi@xxxxxxx; benh@xxxxxxxxxxxxxxxxxxx; linux- > kernel@xxxxxxxxxxxxxxx; Linuxarm; devicetree@xxxxxxxxxxxxxxx; linux- > pci@xxxxxxxxxxxxxxx; linux-serial@xxxxxxxxxxxxxxx; minyard@xxxxxxx; > liviu.dudau@xxxxxxx; zourongrong@xxxxxxxxx; John Garry; Gabriele > Paoloni; zhichang.yuan02@xxxxxxxxx; kantyzc@xxxxxxx; 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: > > 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. 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