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.