RE: [PATCH v9 5/7] ACPI: Translate the I/O range of non-MMIO devices before scanning

From: Gabriele Paoloni
Date: Mon Jun 19 2017 - 05:51:38 EST


Hi Rafael, Mika, Lorenzo

> -----Original Message-----
> From: rjwysocki@xxxxxxxxx [mailto:rjwysocki@xxxxxxxxx] On Behalf Of
> Rafael J. Wysocki
> Sent: 16 June 2017 13:23
> To: Mika Westerberg
> Cc: Rafael J. Wysocki; Gabriele Paoloni; Lorenzo Pieralisi; Rafael J.
> Wysocki; catalin.marinas@xxxxxxx; will.deacon@xxxxxxx;
> robh+dt@xxxxxxxxxx; frowand.list@xxxxxxxxx; bhelgaas@xxxxxxxxxx;
> arnd@xxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx;
> mark.rutland@xxxxxxx; brian.starkey@xxxxxxx; olof@xxxxxxxxx;
> benh@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux-
> acpi@xxxxxxxxxxxxxxx; Linuxarm; linux-pci@xxxxxxxxxxxxxxx;
> minyard@xxxxxxx; John Garry; xuwei (O)
> Subject: Re: [PATCH v9 5/7] ACPI: Translate the I/O range of non-MMIO
> devices before scanning
>
> On Fri, Jun 16, 2017 at 2:00 PM, Mika Westerberg
> <mika.westerberg@xxxxxxxxxxxxxxx> wrote:
> > On Fri, Jun 16, 2017 at 01:24:32PM +0200, Rafael J. Wysocki wrote:
> >> > In fact it may be that it is not sufficient in this case because
> the
> >> > ACPI core might enumerate child devices before the LPC driver even
> gets
> >> > a chance to probe so you would need to add also scan handler to
> the
> >> > child devices and mark them already enumerated or something like
> that.
> >>
> >> Or extend the special I2C/SPI handling to them.
> >
> > Sure but those have I2c/SpiSerialBus() resources which we can use to
> > identify them but for the ipmi thing there is nothing else than _HID
> so
> > we would need to keep a list of such devices in ACPI core.
>
> OK, so adding a scan handler for that would be the way to go IMO.

Many thanks for your response and your help here.

I guess that as conclusion with respect to the current v9 patchset we can
disregard the idea of MFD and modify the current v9 so that it doesn't
touch directly ACPI resources.
Instead as I proposed before we can have the scan handler to enumerate
the children devices and translate its addresses filling dev->resources[] and
at the same time we can modify acpi_default_enumeration to check
acpi_device_enumerated() before continuing with device enumeration...?

Do you think it as a viable solution?

Thanks
Gab