power: sequencing: implement the pwrseq core
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Wed, 5 Jun 2024 12:38:49 +0000 (14:38 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Wed, 12 Jun 2024 07:20:13 +0000 (09:20 +0200)
commit249ebf3f65f8530beb2cbfb91bff1d83ba88d23c
tree4efa059366cd73ca4b78b56ce9e27a51a517c5df
parent83a7eefedc9b56fe7bfeff13b6c7356688ffa670
power: sequencing: implement the pwrseq core

Implement the power sequencing subsystem allowing devices to share
complex powering-up and down procedures. It's split into the consumer
and provider parts but does not implement any new DT bindings so that
the actual power sequencing is never revealed in the DT representation.

Tested-by: Amit Pundir <amit.pundir@linaro.org>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-QRD, SM8650-QRD & SM8650-HDK
Tested-by: Caleb Connolly <caleb.connolly@linaro.org> # OnePlus 8T
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20240605123850.24857-2-brgl@bgdev.pl
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
MAINTAINERS
drivers/power/Kconfig
drivers/power/Makefile
drivers/power/sequencing/Kconfig [new file with mode: 0644]
drivers/power/sequencing/Makefile [new file with mode: 0644]
drivers/power/sequencing/core.c [new file with mode: 0644]
include/linux/pwrseq/consumer.h [new file with mode: 0644]
include/linux/pwrseq/provider.h [new file with mode: 0644]