Currently i2c-multi-instantiate driver does not support the case of INT3515 USB PD device, where: - Interrupt() is used instead of GpioInt() - All slaves may be the same from IP point of view - There can be variadic amount of slaves This series is addressing all above. Note, series has been smoke tested (Heikki would do BAT or more) on Intel Coffee Lake system. The idea is to push this either through PDx86 tree (needs Rafael's ACKs) or ACPI. In any case it needs tags from Heikki, Hans, Mika, Wolfram and Jonathan. Testing and comments are warmly welcome. In v3: - revisit error codes returned by i2c_acpi_new_device() (Hans, Mika) - add documentation to exported i2c_acpi_get_i2c_resource() (Mika) - drop Hans' Rb tag in patch 5 due to changes - append Mika's Ab tag to patch 6 In v2: - drop patches to copy fwnode and to handle BOSC0200 device - append check for amount of devices listed in the driver's mapping - add Rb tag given by Hans Andy Shevchenko (13): platform/x86: intel_cht_int33fe: Remove duplicate NULL check platform/x86: intel_cht_int33fe: Accept errors of i2c_acpi_new_device() platform/x86: i2c-multi-instantiate: Accept errors of i2c_acpi_new_device() platform/x86: i2c-multi-instantiate: Defer probe when no adapter found i2c: acpi: Return error pointers from i2c_acpi_new_device() i2c: acpi: Use ACPI_FAILURE instead of !ACPI_SUCCESS i2c: acpi: Introduce i2c_acpi_get_i2c_resource() helper platform/x86: i2c-multi-instantiate: Count I2cSerialBus() resources platform/x86: i2c-multi-instantiate: Distinguish IRQ resource type platform/x86: i2c-multi-instantiate: Introduce IOAPIC IRQ support platform/x86: i2c-multi-instantiate: Allow to have same slaves ACPI / scan: Create platform device for INT3515 ACPI nodes iio: inv_mpu6050: Use i2c_acpi_get_i2c_resource() helper drivers/acpi/scan.c | 1 + drivers/i2c/i2c-core-acpi.c | 64 +++++++++---- drivers/iio/imu/inv_mpu6050/inv_mpu_acpi.c | 16 ++-- drivers/platform/x86/i2c-multi-instantiate.c | 99 ++++++++++++++++---- drivers/platform/x86/intel_cht_int33fe.c | 34 +++++-- drivers/usb/typec/tps6598x.c | 8 +- include/linux/acpi.h | 11 +++ 7 files changed, 174 insertions(+), 59 deletions(-) -- 2.19.2