Re: [PATCH v5 0/6] Introduce intel_skl_int3472 module

From: Laurent Pinchart
Date: Tue Jun 08 2021 - 05:33:54 EST


Hi Hans,

On Tue, Jun 08, 2021 at 11:00:24AM +0200, Hans de Goede wrote:
> On 6/4/21 12:40 AM, Daniel Scally wrote:
> > Hello all
> >
> > Bit longer than hoped but here's v5.
> >
> > v4:
> > https://lore.kernel.org/lkml/20210520140928.3252671-1-djrscally@xxxxxxxxx/
> >
> > v3
> > https://lore.kernel.org/lkml/20210222130735.1313443-1-djrscally@xxxxxxxxx/
> >
> > v2
> > https://lore.kernel.org/platform-driver-x86/20210118003428.568892-1-djrscally@xxxxxxxxx/
> >
> > v1
> > https://lore.kernel.org/linux-media/20201130133129.1024662-1-djrscally@xxxxxxxxx/T/#m91934e12e3d033da2e768e952ea3b4a125ee3e67
> >
> > The only changes are the dropped patches, renamed functions in 2/6 and most of
> > Andy's suggestions on 5/6 - I didn't hit them all yet but didn't want to delay
> > this any more.
> >
> > Series level changelog:
> >
> > - Dropped all but the essential patches to simplify merge plan - thanks
> > Hans.
>
> Thank you. Andy has already sends me a pull-req for the gpiolib-acpi changes
> and I expect Rafael to send me a pull-req (from an immutable branch) for the
> ACPI bits soon-ish.
>
> When I merge those both into pdx86 I should be able to pick-up 5/6.
>
> Given the long time this has been in the making I'm tempted to do that
> (pick up 5/6 as is) and then we can do further cleanups like looking into
> using the existing fixed-regulator code later. My mean reason to do this
> would be to get this code into the hands of users starting with the 5.14
> kernel.

That would be great !

> So question, how usable is this (from the kernel pov, I know userspace
> needs work too) once I merge 5/6. Is the kernel-side support for the cameras
> on some Surface devices then complete or are more patches necessary in
> other subsystems ?

Camera sensor drivers are the other piece of the puzzle that is
required. Daniel is working on an ov5693 driver which can be found at
https://github.com/djrscally/media_tree/tree/ov5693-v2. It's nearing
completion too.

With those two pieces, we have support for the Microsoft Surface Go 2 in
libcamera, as well as a few other devices whose exact model escapes me
at this minute.

> Note another advantage of just merging 5/6 as is and doing the fixed-regulator
> bits on top, is that having those in a separate commit makes it easier to
> see if these indeed result in a nice cleanup (vs sticking with the current code).
>
> > Daniel Scally (6):
> > ACPI: scan: Extend acpi_walk_dep_device_list()
> > ACPI: scan: Add function to fetch dependent of acpi device
> > gpiolib: acpi: Export acpi_get_gpiod()
> > gpiolib: acpi: Add acpi_gpio_get_io_resource()
> > platform/x86: Add intel_skl_int3472 driver
> > mfd: tps68470: Remove tps68470 MFD driver
> >
> > MAINTAINERS | 5 +
> > drivers/acpi/ec.c | 2 +-
> > drivers/acpi/pmic/Kconfig | 2 +-
> > drivers/acpi/pmic/intel_pmic_chtdc_ti.c | 2 +-
> > drivers/acpi/scan.c | 104 ++++-
> > drivers/gpio/Kconfig | 2 +-
> > drivers/gpio/gpiolib-acpi.c | 61 ++-
> > drivers/i2c/i2c-core-acpi.c | 8 +-
> > drivers/mfd/Kconfig | 18 -
> > drivers/mfd/Makefile | 1 -
> > drivers/mfd/tps68470.c | 97 ----
> > drivers/platform/surface/aggregator/core.c | 6 +-
> > drivers/platform/surface/surface3_power.c | 22 +-
> > .../platform/surface/surface_acpi_notify.c | 7 +-
> > drivers/platform/x86/Kconfig | 2 +
> > drivers/platform/x86/Makefile | 1 +
> > drivers/platform/x86/intel-int3472/Kconfig | 30 ++
> > drivers/platform/x86/intel-int3472/Makefile | 5 +
> > .../intel_skl_int3472_clk_and_regulator.c | 196 ++++++++
> > .../intel-int3472/intel_skl_int3472_common.c | 106 +++++
> > .../intel-int3472/intel_skl_int3472_common.h | 118 +++++
> > .../intel_skl_int3472_discrete.c | 417 ++++++++++++++++++
> > .../intel_skl_int3472_tps68470.c | 137 ++++++
> > include/acpi/acpi_bus.h | 8 +
> > include/linux/acpi.h | 11 +-
> > include/linux/gpio/consumer.h | 2 +
> > 26 files changed, 1205 insertions(+), 165 deletions(-)
> > delete mode 100644 drivers/mfd/tps68470.c
> > create mode 100644 drivers/platform/x86/intel-int3472/Kconfig
> > create mode 100644 drivers/platform/x86/intel-int3472/Makefile
> > create mode 100644 drivers/platform/x86/intel-int3472/intel_skl_int3472_clk_and_regulator.c
> > create mode 100644 drivers/platform/x86/intel-int3472/intel_skl_int3472_common.c
> > create mode 100644 drivers/platform/x86/intel-int3472/intel_skl_int3472_common.h
> > create mode 100644 drivers/platform/x86/intel-int3472/intel_skl_int3472_discrete.c
> > create mode 100644 drivers/platform/x86/intel-int3472/intel_skl_int3472_tps68470.c

--
Regards,

Laurent Pinchart