In the Pine64 PinePhone, the stk3310 chip is powered by a regulator that is
disabled at system boot and can be shut off during suspend. To ensure that
the chip properly initializes, both after boot and suspend, we need to
manage this regulator.
Additionally if the chip is shut off in suspend, we need to make sure that
it gets reinitialized with the same parameters after resume.
Major changes in v4:
- replace mutex_init with devm_mutex_init
- code style cleanup
Major changes in v3:
- Use bulk regulators instead of two individual ones
- Replace stk3310_remove with devm callbacks
Major changes in v2:
- Add handling of the IR LED. I was hesitant to include this as it is the
same as pull-up regulator for the i2c bus on the hardware I have, so I
can't test it well. I think leaving it out is more likely to cause
issues than including it.
- Convert stk3310 to use dev_err_probe for errors.
- Always enable / disable regulators and rely on dummy devices if they're
not specified.
- more listed in individual patches
Aren Moynihan (5):
dt-bindings: iio: light: stk33xx: add vdd and leda regulators
iio: light: stk3310: handle all remove logic with devm callbacks
iio: light: stk3310: Implement vdd and leda supplies
iio: light: stk3310: use dev_err_probe where possible
iio: light: stk3310: log error if reading the chip id fails
Ondrej Jirman (1):
arm64: dts: allwinner: pinephone: Add power supplies to stk3311
.../bindings/iio/light/stk33xx.yaml | 4 +
.../dts/allwinner/sun50i-a64-pinephone.dtsi | 2 +
drivers/iio/light/stk3310.c | 162 ++++++++++++------
3 files changed, 120 insertions(+), 48 deletions(-)
--
2.47.0