mbox series

[v4,00/15] i2c-multi-instantiate: Adapt for INT3515 and alike

Message ID 20181128113024.42126-1-andriy.shevchenko@linux.intel.com
Headers show
Series i2c-multi-instantiate: Adapt for INT3515 and alike | expand

Message

Andy Shevchenko Nov. 28, 2018, 11:30 a.m. UTC
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 v4:
- directly return -EPROBE_DEFER from i2c_acpi_new_device()
- due to above split error handling simplification to separate patches

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 (15):
  defconfig: enable I2C_DEBUG_CORE
  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()
  i2c: acpi: Return error pointers from i2c_acpi_new_device()
  platform/x86: intel_cht_int33fe: Get rid of obsolete conditional
  platform/x86: i2c-multi-instantiate: Get rid of obsolete conditional
  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

 arch/x86/configs/i386_defconfig              |  1 +
 arch/x86/configs/x86_64_defconfig            |  1 +
 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 | 97 ++++++++++++++++----
 drivers/platform/x86/intel_cht_int33fe.c     | 20 ++--
 drivers/usb/typec/tps6598x.c                 |  8 +-
 include/linux/acpi.h                         | 11 +++
 9 files changed, 159 insertions(+), 60 deletions(-)

--
2.19.2

Comments

Andy Shevchenko Nov. 28, 2018, 11:34 a.m. UTC | #1
On Wed, Nov 28, 2018 at 01:30:09PM +0200, Andy Shevchenko wrote:
> 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 v4:
> - directly return -EPROBE_DEFER from i2c_acpi_new_device()
> - due to above split error handling simplification to separate patches


Please, ignore this.
I messed up with the patches.

> 
> 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 (15):
>   defconfig: enable I2C_DEBUG_CORE
>   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()
>   i2c: acpi: Return error pointers from i2c_acpi_new_device()
>   platform/x86: intel_cht_int33fe: Get rid of obsolete conditional
>   platform/x86: i2c-multi-instantiate: Get rid of obsolete conditional
>   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
> 
>  arch/x86/configs/i386_defconfig              |  1 +
>  arch/x86/configs/x86_64_defconfig            |  1 +
>  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 | 97 ++++++++++++++++----
>  drivers/platform/x86/intel_cht_int33fe.c     | 20 ++--
>  drivers/usb/typec/tps6598x.c                 |  8 +-
>  include/linux/acpi.h                         | 11 +++
>  9 files changed, 159 insertions(+), 60 deletions(-)
> 
> --
> 2.19.2
>