Hi Stefan, On 12/10/21 16:40, Stefan Binding wrote: > Add support for SPI bus in the ic2-multi-instantiate driver as > upcoming laptops will need to multi instantiate SPI devices from > a single device node, which has multiple SpiSerialBus entries at > the ACPI table. > > With the new SPI support, i2c-multi-instantiate becomes > bus-multi-instantiate and is moved to the ACPI folder. > > The intention is to support the SPI bus by re-using the current > I2C multi instantiate, instead of creating a new SPI multi > instantiate, to make it possible for peripherals that can be > controlled by I2C or SPI to have the same HID at the ACPI table. > > The new driver (Bus multi instantiate, bmi) checks for the > hard-coded bus type and returns -ENODEV in case of zero devices > found for that bus. In the case of automatic bus detection, > the driver will give preference to I2C. > > The expectation is for a device node in the ACPI table to have > multiple I2cSerialBus only or multiple SpiSerialBus only, not > a mix of both; and for the case where there are both entries in > one device node, only the I2C ones would be probed. > > This new bus multi instantiate will be used in CS35L41 HDA new > driver, being upstreamed: > https://lkml.org/lkml/2021/11/23/723 Patches 1-5 look good to me and are: Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Rafael, you may also consider this as my ack for merging this series through the ACPI subsys branches. But I do have some remarks on patch 6 which should be addressed first. Regards, Hans > > Changes since V1: > - Added Cover Letter > - Split SPI patch into move, rename, reorganize and add > SPI support > - Hard coded BUS type for better decison making at bmi_probe > - Driver moved to acpi folder > - Change to use acpi_spi_find_controller_by_adev > - New shared function bmi_get_irq for I2C and SPI > > > Lucas Tanure (3): > platform/x86: i2c-multi-instantiate: Move it to drivers/acpi folder > ACPI: i2c-multi-instantiate: Rename it for a generic bus driver name > ACPI: bus-multi-instantiate: Reorganize I2C functions > > Stefan Binding (3): > spi: Export acpi_spi_find_controller_by_adev to be used externally > spi: Make spi_alloc_device and spi_add_device public again > ACPI: bus-multi-instantiate: Add SPI support > > MAINTAINERS | 4 +- > drivers/acpi/Kconfig | 11 + > drivers/acpi/Makefile | 1 + > drivers/acpi/bus-multi-instantiate.c | 500 +++++++++++++++++++ > drivers/acpi/scan.c | 19 +- > drivers/platform/x86/Kconfig | 11 - > drivers/platform/x86/Makefile | 1 - > drivers/platform/x86/i2c-multi-instantiate.c | 174 ------- > drivers/spi/spi.c | 9 +- > include/linux/spi/spi.h | 22 + > 10 files changed, 552 insertions(+), 200 deletions(-) > create mode 100644 drivers/acpi/bus-multi-instantiate.c > delete mode 100644 drivers/platform/x86/i2c-multi-instantiate.c >