• Robert Shearman's avatar
    i2c: mux: pca954x: allow management of device idle state via sysfs · f1fb64b0
    Robert Shearman authored
    The behaviour, by default, to not deselect after each transfer is
    unsafe when there is a device with an address that conflicts with
    another device on another mux on the same parent bus, and it
    may not be convenient to use devicetree to set the deselect mux,
    e.g. when running on x86_64 when ACPI is used to discover most of the
    device hierarchy.
    
    Therefore, provide the ability to set the idle state behaviour using a
    new sysfs file, idle_state as a complement to the method of
    instantiating the device via sysfs. The possible behaviours are
    disconnect, i.e. to deselect all channels from the mux, as-is (the
    default), i.e. leave the last channel selected, and set a
    predetermined channel.
    
    The current behaviour of leaving the channel as-is after each
    transaction is preserved.
    Signed-off-by: default avatarRobert Shearman <robert.shearman@att.com>
    Signed-off-by: default avatarPeter Rosin <peda@axentia.se>
    f1fb64b0
i2c-mux-pca954x.c 13.5 KB