[PATCH v4 0/1] i2c: Restore power status of device if probe fail or device is removed

From: Ricardo Ribalda
Date: Thu Nov 10 2022 - 09:12:00 EST


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: linux-i2c@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Signed-off-by: Ricardo Ribalda <ribalda@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>