• Dustin Byford's avatar
    i2c: add ACPI support for I2C mux ports · 8eb5c87a
    Dustin Byford authored
    Although I2C mux devices are easily enumerated using ACPI (_HID/_CID or
    device property compatible string match), enumerating I2C client devices
    connected through an I2C mux needs a little extra work.
    
    This change implements a method for describing an I2C device hierarchy that
    includes mux devices by using an ACPI Device() for each mux channel along
    with an _ADR to set the channel number for the device.  See
    Documentation/acpi/i2c-muxes.txt for a simple example.
    
    To make this work the ismt, i801, and designware pci/platform devs now
    share an ACPI companion with their I2C adapter dev similar to how it's done
    in OF.  This is done on the assumption that power management functions will
    not be called directly on the I2C dev that is sharing the ACPI node.
    Acked-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
    Tested-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
    Signed-off-by: default avatarDustin Byford <dustin@cumulusnetworks.com>
    Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
    8eb5c87a
i2c-i801.c 42.5 KB