On Mon, 3 Jun 2019 at 13:08, Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> wrote: > > On Thu, May 30, 2019 at 01:16:34PM +0200, Ard Biesheuvel wrote: > > @@ -1948,7 +1988,8 @@ static void acpi_register_spi_devices(struct spi_controller *ctlr) > > if (!handle) > > return; > > > > - status = acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, 1, > > + status = acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT, > > Would it be simpler to differentiate here between Apple and non-Apple > systems? Then we don't need all that special code and the above becomes: > > depth = x86_apple_system ? 1 : SPI_ACPI_ENUMERATE_MAX_DEPTH; > status = acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT, depth, > .. > > Probably requires a comment explaining why we do it like that, though. Yes, but note that both the root and the depth are different in this case. I'll play around with this idea, to see if it simplifies things.