> 2. Could you please explain why I2C driver has to care about restoring > the pinmux state? Why pinctrl driver isn't doing that for I2C and > everything else? Although, now I see what you meant in the commit's message. Perhaps the "their I2C controllers may have lost the pinmux state in hardware" paragraph should be removed from the commit's message because it's irrelevant to this patch. The pinctrl state is changed once tegra_i2c_runtime_resume() is invoked and it is not about the change made by this patch.