mbox series

[v7,00/14] Add support for X86/ACPI camera sensor/PMIC setup with clk and regulator platform data

Message ID 20211203102857.44539-1-hdegoede@redhat.com (mailing list archive)
Headers show
Series Add support for X86/ACPI camera sensor/PMIC setup with clk and regulator platform data | expand

Message

Hans de Goede Dec. 3, 2021, 10:28 a.m. UTC
Hi All,

Here is v7 of my patch-set adding support for camera sensor connected to a
TPS68470 PMIC on x86/ACPI devices.

Changes in v7:
- Drop "platform/x86: int3472: Enable I2c daisy chain" this workaround is
  no longer necessary (the regulator code now takes care of this)
- Fix using PTR_ERR(data->clk) instead of PTR_ERR(rdev) to log an error
  code in "regulator: Introduce tps68470-regulator driver"

Changes in v6:
- Add support for the VCM (Voice Coil Motor) controlling the focus of
  the back/main sensor camera lens:
  - Patch 3 and patches 13-15 are new patches for this
  - While working on this I learned that the VIO regulator is an always on
    regulator and must be configured at the same voltage as VSIO, the
    tps68470-regulator driver and the constraints have been updated for this
- Addressed clk-tps68470 driver review-remarks
- Some minor tweaks based on review-remarks from Andy
- Add Andy's Reviewed-by to all patches which were also in v5

I'm quite happy with how this works now, so from my pov this is ready
for merging now.

Patch 2 and 3 already have acks for merging through another tree.

I believe the best way to merge this is that I create an IM branch with
patches 1-4 + 7-11 (with Rafael's ack for 1) and then the clk / regulator /
media maintainers merge my IM branch + their resp. patches

This assumes that Rafael does not foresee any conflicts caused by the few
small ACPI changes in patch 1. Rafael is this ok with you ? You did already
Ack patch 1 but IIRC that was not specifically for merging it through
another tree, may I have your ack for moving forward with this plan ?

Regards,

Hans


Hans de Goede (14):
  ACPI: delay enumeration of devices with a _DEP pointing to an INT3472
    device
  i2c: acpi: Use acpi_dev_ready_for_enumeration() helper
  i2c: acpi: Add i2c_acpi_new_device_by_fwnode() function
  platform_data: Add linux/platform_data/tps68470.h file
  regulator: Introduce tps68470-regulator driver
  clk: Introduce clk-tps68470 driver
  platform/x86: int3472: Split into 2 drivers
  platform/x86: int3472: Add get_sensor_adev_and_name() helper
  platform/x86: int3472: Pass tps68470_clk_platform_data to the
    tps68470-regulator MFD-cell
  platform/x86: int3472: Pass tps68470_regulator_platform_data to the
    tps68470-regulator MFD-cell
  platform/x86: int3472: Deal with probe ordering issues
  media: ipu3-cio2: Defer probing until the PMIC is fully setup
  media: ipu3-cio2: Call cio2_bridge_init() before anything else
  media: ipu3-cio2: Add support for instantiating i2c-clients for VCMs

 drivers/acpi/scan.c                           |  37 ++-
 drivers/clk/Kconfig                           |   8 +
 drivers/clk/Makefile                          |   1 +
 drivers/clk/clk-tps68470.c                    | 261 ++++++++++++++++++
 drivers/i2c/i2c-core-acpi.c                   |  22 +-
 drivers/media/pci/intel/ipu3/cio2-bridge.c    |  92 ++++++
 drivers/media/pci/intel/ipu3/cio2-bridge.h    |  16 +-
 drivers/media/pci/intel/ipu3/ipu3-cio2-main.c |  10 +-
 drivers/platform/x86/intel/int3472/Makefile   |   9 +-
 ...lk_and_regulator.c => clk_and_regulator.c} |   2 +-
 drivers/platform/x86/intel/int3472/common.c   |  82 ++++++
 .../{intel_skl_int3472_common.h => common.h}  |   6 +-
 ...ntel_skl_int3472_discrete.c => discrete.c} |  51 ++--
 .../intel/int3472/intel_skl_int3472_common.c  | 106 -------
 ...ntel_skl_int3472_tps68470.c => tps68470.c} |  92 +++++-
 drivers/platform/x86/intel/int3472/tps68470.h |  25 ++
 .../x86/intel/int3472/tps68470_board_data.c   | 145 ++++++++++
 drivers/regulator/Kconfig                     |   9 +
 drivers/regulator/Makefile                    |   1 +
 drivers/regulator/tps68470-regulator.c        | 201 ++++++++++++++
 include/acpi/acpi_bus.h                       |   5 +-
 include/linux/i2c.h                           |  17 +-
 include/linux/mfd/tps68470.h                  |  11 +
 include/linux/platform_data/tps68470.h        |  35 +++
 24 files changed, 1076 insertions(+), 168 deletions(-)
 create mode 100644 drivers/clk/clk-tps68470.c
 rename drivers/platform/x86/intel/int3472/{intel_skl_int3472_clk_and_regulator.c => clk_and_regulator.c} (99%)
 create mode 100644 drivers/platform/x86/intel/int3472/common.c
 rename drivers/platform/x86/intel/int3472/{intel_skl_int3472_common.h => common.h} (94%)
 rename drivers/platform/x86/intel/int3472/{intel_skl_int3472_discrete.c => discrete.c} (91%)
 delete mode 100644 drivers/platform/x86/intel/int3472/intel_skl_int3472_common.c
 rename drivers/platform/x86/intel/int3472/{intel_skl_int3472_tps68470.c => tps68470.c} (56%)
 create mode 100644 drivers/platform/x86/intel/int3472/tps68470.h
 create mode 100644 drivers/platform/x86/intel/int3472/tps68470_board_data.c
 create mode 100644 drivers/regulator/tps68470-regulator.c
 create mode 100644 include/linux/platform_data/tps68470.h

Comments

Mark Brown Dec. 16, 2021, 2:21 a.m. UTC | #1
On Fri, 3 Dec 2021 11:28:43 +0100, Hans de Goede wrote:
> Here is v7 of my patch-set adding support for camera sensor connected to a
> TPS68470 PMIC on x86/ACPI devices.
> 
> Changes in v7:
> - Drop "platform/x86: int3472: Enable I2c daisy chain" this workaround is
>   no longer necessary (the regulator code now takes care of this)
> - Fix using PTR_ERR(data->clk) instead of PTR_ERR(rdev) to log an error
>   code in "regulator: Introduce tps68470-regulator driver"
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next

Thanks!

[05/14] regulator: Introduce tps68470-regulator driver
        commit: 0fc31d8f1a8ad17224f6423e3ed6234507375d48

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark