Re: [PATCH v5 2/4] i2c: core: Add new i2c_acpi_new_device helper function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 05, 2017 at 12:03:33AM +0200, Hans de Goede wrote:
> By default the i2c subsys creates an i2c-client for the first I2cSerialBus
> resource of an acpi_device, but some acpi_devices have multiple
> I2cSerialBus resources and we may want to instantiate i2c-clients for
> the others.
> 
> This commit adds a new i2c_acpi_new_device function which can be used to
> create an i2c-client for any I2cSerialBus resource of an acpi_device.
> 
> Note that the other resources may even be on a different i2c bus, so just
> retrieving the client address is not enough.
> 
> Here is an example DSDT excerpt from such a device:
> 
> Device (WIDR)
> {
>     Name (_HID, "INT33FE" /* XPOWER Battery Device */)
>     Name (_CID, "INT33FE" /* XPOWER Battery Device */)
>     Name (_DDN, "WC PMIC Battery Device")
> <snip>
>     Name (RBUF, ResourceTemplate ()
>     {
>         I2cSerialBusV2 (0x005E, ControllerInitiated, 0x000186A0,
>             AddressingMode7Bit, "\\_SB.PCI0.I2C7",
>             0x00, ResourceConsumer, , Exclusive,
>             )
>         I2cSerialBusV2 (0x0036, ControllerInitiated, 0x000186A0,
>             AddressingMode7Bit, "\\_SB.PCI0.I2C1",
>             0x00, ResourceConsumer, , Exclusive,
>             )
>         I2cSerialBusV2 (0x0022, ControllerInitiated, 0x00061A80,
>             AddressingMode7Bit, "\\_SB.PCI0.I2C1",
>             0x00, ResourceConsumer, , Exclusive,
>             )
>         I2cSerialBusV2 (0x0054, ControllerInitiated, 0x00061A80,
>             AddressingMode7Bit, "\\_SB.PCI0.I2C1",
>             0x00, ResourceConsumer, , Exclusive,
>             )
>         GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x0000,
>             "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
>             )
>             {   // Pin list
>         0x0012
>             }
>         GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
>             "\\_SB.GPO1", 0x00, ResourceConsumer, ,
>             )
>             {   // Pin list
>         0x0005
>             }
>         GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x0000,
>             "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, ,
>             )
>             {   // Pin list
>         0x0013
>             }
>     })
>     Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
>     {
>         Return (RBUF) /* \_SB_.PCI0.I2C7.WIDR.RBUF */
>     }
> <snip>
> }
> 
> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>

Applied to for-next, thanks!

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux