We have discovered that some power lines were always on even if the devices on that power line was not used. This happens because we failed to probe a device on the i2c bus, and the ACPI Power Resource were never turned off. This patch tries to fix this issue. To: Wolfram Sang <wsa@xxxxxxxxxx> To: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> To: Tomasz Figa <tfiga@xxxxxxxxxxxx> To: "Rafael J. Wysocki" <rafael.j.wysocki@xxxxxxxxx> Cc: Hidenori Kobayashi <hidenorik@xxxxxxxxxx> Cc: Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx> Cc: linux-i2c@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx> --- Changes in v5: - Add Cc: stable - Add Reviewed-by Sakary (Thanks!) - Renamed turn-off as power-off, in the name of consistency (Thanks Sergey!) - Link to v4: https://lore.kernel.org/r/20221109-i2c-waive-v4-0-e4496462833b@xxxxxxxxxxxx Changes in v4: - Rename full_power to do_power_on - Link to v3: https://lore.kernel.org/r/20221109-i2c-waive-v3-0-d8651cb4b88d@xxxxxxxxxxxx Changes in v3: - Introduce full_power variable to make more clear what we are doing. - Link to v2: https://lore.kernel.org/r/20221109-i2c-waive-v2-0-07550bf2dacc@xxxxxxxxxxxx Changes in v2: - Cover also device remove - Link to v1: https://lore.kernel.org/r/20221109-i2c-waive-v1-0-ed70a99b990d@xxxxxxxxxxxx --- Ricardo Ribalda (1): i2c: Restore initial power state when we are done. drivers/i2c/i2c-core-base.c | 11 +++++++---- include/linux/i2c.h | 4 ++++ 2 files changed, 11 insertions(+), 4 deletions(-) --- base-commit: f141df371335645ce29a87d9683a3f79fba7fd67 change-id: 20221109-i2c-waive-ae97fea1f1b5 Best regards, -- Ricardo Ribalda <ribalda@xxxxxxxxxxxx>