On Thu, Mar 31, 2016 at 8:29 PM, Mark Brown <broonie@xxxxxxxxxx> wrote: > On Thu, Mar 31, 2016 at 12:37:02PM +0300, Octavian Purdila wrote: > >> +#if IS_ENABLED(CONFIG_ACPI) >> +static int acpi_spi_table_load(struct device *dev, const void *data) >> +{ >> + struct spi_master *master = container_of(dev, struct spi_master, dev); >> + >> + acpi_register_spi_devices(master); >> + return 0; >> +} > > Why do we have a separate code path for this coompared to the initial > startup? The handling appears to be identical so it seems we should > drive this from the ACPI code so we don't have to add this to every > single bus with ACPI bindings. Hi Mark, I probably don't fully understand your question, but I don't see a way of how we can create a new SPI device from generic ACPI code. For example, in acpi_spi_add_device() we need the spi_master node so that we can allocate the spi device. The handling is identical because we don't have yet have a way to identify what where the new nodes added when a new ACPI table / overlay has been loaded, so we have to rescan the ACPI namespace under each controller. -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html