mbox series

[v5,0/4] media: i2c: imx412: Add regulator control to imx412

Message ID 20220415115954.1649217-1-bryan.odonoghue@linaro.org
Headers show
Series media: i2c: imx412: Add regulator control to imx412 | expand

Message

Bryan O'Donoghue April 15, 2022, 11:59 a.m. UTC
V5:
- Adds in a fix for the GPIO reset. I was a bit worried that this change
  would negatively affect the Intel people. Looking around on Google I
  found that the imx412 is/was used on a system called Keem Bay which is a
  DTS based system so TL;DR its both safe and right to make this change.
- Front loads the clock/gpio ordering fix.
- Adds "Fixes" and Cc: stable for the two associated fixes
- Changes num_supplies to ARRAY_SIZE(supplies) - Jacopo

V4:
- Further asks on placing arguments on the same line - Saraki
- Moves regulator_bulk_disable() to common error path - Saraki
- Fixes power_off ordering so that power_off and power_on have the same
  flow - Bryan

V3:
- int num_supplies -> unsigned int num_supplied - Saraki
- Move imx412->num_supplies to same line as devm_regulator_bulk_get - Saraki
- Return ret on regulator_bulk_enable() - Saraki
- Remember to regulator_bulk_disable() on !clk_prepare_enable() - Saraki

V2:
- Drops redundant verbage "Definition of the" from each of the newly defined
  regulators - Krzysztof Kozlowski
- Adds Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
- "description: thing described" to the same line in new additions
  following the established way of doing it in this file - bod

V1:
The imx412 has three regulators which depending on platform may need to be
individually enabled.

- dovdd
- avdd
- dvdd

Existing code for an Intel platform doesn't appear to need to enable these
rails directly. On my reference hardware, a Qualcomm Thundercomm RB5 some
of these rails do need to be enabled individually.

Add in the above named rails as optional in the YAML in the first patch
along with code to switch them on in the second patch.

Existing imx412 users should get dummy regulators populated which the
regulator_bulk_enable()/regulator_bulk_disable() code can safely ignore.

Bryan O'Donoghue (4):
  media: i2c: imx412: Fix reset GPIO polarity
  media: i2c: imx412: Fix power_off ordering
  media: dt-bindings: imx412: Add regulator descriptions
  media: i2c: imx412: Add bulk regulator support

 .../bindings/media/i2c/sony,imx412.yaml       |  9 +++++
 drivers/media/i2c/imx412.c                    | 38 +++++++++++++++++--
 2 files changed, 43 insertions(+), 4 deletions(-)