On Fri, Aug 26, 2016 at 3:09 PM, Jon Hunter <jonathanh@xxxxxxxxxx> wrote: > On Tegra124/132 the pins for I2C6 are shared with the Display Port AUX > (DPAUX) channel and on Tegra210 the pins for I2C4 and I2C6 are shared > with DPAUX1 and DPAUX0, respectively. The multiplexing of the pins is > handled by a register in the DPAUX and so the Tegra DPAUX driver has > been updated to register a pinctrl device for managing these pins. > > The pins for these particular I2C devices are bound to the I2C device > prior to probing. However, these I2C devices are in a different power > partition to the DPAUX devices that own the pins. Hence, it is desirable > to place the pins in the 'idle' state and allow the DPAUX power > partition to switch off, when these I2C devices is not in use. > Therefore, add calls to place the I2C pins in the 'default' and 'idle' > states when the I2C device is runtime resumed and suspended, > respectively. > > Please note that the pinctrl functions that set the state of the pins > check to see if the devices has pins associated and will return zero > if they do not. Therefore, it is safe to call these pinctrl functions > even for I2C devices that do not have any pins associated. > > Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> > Acked-by: Laxman Dewangan <ldewangan@xxxxxxxxxx> This is exactly how I imagined these states being used, so obviously: Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html