mbox series

[v5,0/6] Introduce intel_skl_int3472 module

Message ID 20210603224007.120560-1-djrscally@gmail.com
Headers show
Series Introduce intel_skl_int3472 module | expand

Message

Daniel Scally June 3, 2021, 10:40 p.m. UTC
Hello all

Bit longer than hoped but here's v5.

v4:
https://lore.kernel.org/lkml/20210520140928.3252671-1-djrscally@gmail.com/

v3
https://lore.kernel.org/lkml/20210222130735.1313443-1-djrscally@gmail.com/

v2
https://lore.kernel.org/platform-driver-x86/20210118003428.568892-1-djrscally@gmail.com/

v1
https://lore.kernel.org/linux-media/20201130133129.1024662-1-djrscally@gmail.com/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.

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

Comments

Hans de Goede June 8, 2021, 9 a.m. UTC | #1
Hi,

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@gmail.com/

> 

> v3

> https://lore.kernel.org/lkml/20210222130735.1313443-1-djrscally@gmail.com/

> 

> v2

> https://lore.kernel.org/platform-driver-x86/20210118003428.568892-1-djrscally@gmail.com/

> 

> v1

> https://lore.kernel.org/linux-media/20201130133129.1024662-1-djrscally@gmail.com/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.

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 ?

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).

Regards,

Hans






> 

> 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

>
Laurent Pinchart June 8, 2021, 9:33 a.m. UTC | #2
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@gmail.com/
> > 
> > v3
> > https://lore.kernel.org/lkml/20210222130735.1313443-1-djrscally@gmail.com/
> > 
> > v2
> > https://lore.kernel.org/platform-driver-x86/20210118003428.568892-1-djrscally@gmail.com/
> > 
> > v1
> > https://lore.kernel.org/linux-media/20201130133129.1024662-1-djrscally@gmail.com/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