Although in the most platforms, the power of eeprom and i2c are alway on, some platforms disable the eeprom and i2c power in order to meet low power request. This patch add the pm_runtime ops to control power to support all platforms. Changes since v9: - fixup build error - remove redundant code Changes since v8: - fixup some wrong code - remove redundant message Changes since v7: - add binding describe supply property in i2c and at24. - move i2c bus supply control in i2c-core. - rebase onto v5.5-rc1 Changes since v6: - add back error check for devm_regulator_bulk_get() Changes since v5: - remove has_supplies Changes since v4: - add system sleep PM ops - move regulator_bulk_disable before suspend() - fixes error handling Changes since v3: - remove redundant calling function - change SIMPLE_DEV_PM_OPS to SET_RUNTIME_PM_OPS - change supply name Changes since v2: - rebase onto v5.4-rc1 - pm_runtime_disable and regulator_bulk_disable at err return in probe function Changes since v1: - remove redundant code - fixup coding style Bibby Hsieh (4): dt-binding: eeprom: at24: add vcc-supply property dt-binding: i2c: add bus-supply property misc: eeprom: at24: support pm_runtime control i2c: core: support bus regulator controlling in adapter .../devicetree/bindings/eeprom/at24.yaml | 4 + Documentation/devicetree/bindings/i2c/i2c.txt | 3 + drivers/i2c/i2c-core-base.c | 81 +++++++++++++++++++ drivers/misc/eeprom/at24.c | 40 +++++++++ include/linux/i2c.h | 3 + 5 files changed, 131 insertions(+) -- 2.18.0