mbox series

[0/6] Add multiple-consumer support to int3472-tps68470 driver

Message ID 20220216225304.53911-1-djrscally@gmail.com (mailing list archive)
Headers show
Series Add multiple-consumer support to int3472-tps68470 driver | expand

Message

Daniel Scally Feb. 16, 2022, 10:52 p.m. UTC
At the moment there are a few places in the int3472-tps68470 driver that are
limited to just working with a single consuming device dependent on the PMIC.
There are systems where multiple camera sensors share a single TPS68470, so
we need to extend the driver to support them. This requires a couple of tweaks
to the ACPI functions to fetch dependent devices, which also assumes that only
a single dependent will be found.

Hans - this (plus a series to media [1]) adds support for the Surface Go 2's
IR camera...the regulator settings for the Go1/2/3 world facing camera are the
same, so I'd expect them to match for the IR sensor too, which means it should
enable support for your Go too.

Thanks
Dan


[1] https://lore.kernel.org/linux-media/20220215230737.1870630-1-djrscally@gmail.com/

Daniel Scally (6):
  ACPI: scan: Add acpi_dev_get_next_consumer_dev()
  ACPI: bus: Add iterator for dependent devices
  platform/x86: int3472: Support multiple clock consumers
  platform/x86: int3472: Add terminator to gpiod_lookup_table
  platform/x86: int3472: Support multiple gpio lookups in board data
  platform/x86: int3472: Add board data for Surface Go2 IR camera

 drivers/acpi/scan.c                           | 47 +++++++++--
 drivers/clk/clk-tps68470.c                    | 13 +++-
 drivers/platform/x86/intel/int3472/tps68470.c | 77 +++++++++++++++----
 drivers/platform/x86/intel/int3472/tps68470.h |  3 +-
 .../x86/intel/int3472/tps68470_board_data.c   | 58 +++++++++++++-
 include/acpi/acpi_bus.h                       | 14 ++++
 include/linux/platform_data/tps68470.h        |  7 +-
 7 files changed, 188 insertions(+), 31 deletions(-)

Comments

Hans de Goede Feb. 17, 2022, 9:55 a.m. UTC | #1
Hi Dan,

On 2/16/22 23:52, Daniel Scally wrote:
> At the moment there are a few places in the int3472-tps68470 driver that are
> limited to just working with a single consuming device dependent on the PMIC.
> There are systems where multiple camera sensors share a single TPS68470, so
> we need to extend the driver to support them. This requires a couple of tweaks
> to the ACPI functions to fetch dependent devices, which also assumes that only
> a single dependent will be found.

This sounds great, thank you for your work on this. I have a bit of a backlog wrt
pdx86 patches to review and I try to through those in FIFO order to keep things fair,
so it may be a while (approx. 1-2 weeks) before I get around to reviewing
these.

Regards,

Hans


> 
> Hans - this (plus a series to media [1]) adds support for the Surface Go 2's
> IR camera...the regulator settings for the Go1/2/3 world facing camera are the
> same, so I'd expect them to match for the IR sensor too, which means it should
> enable support for your Go too.
> 
> Thanks
> Dan
> 
> 
> [1] https://lore.kernel.org/linux-media/20220215230737.1870630-1-djrscally@gmail.com/
> 
> Daniel Scally (6):
>   ACPI: scan: Add acpi_dev_get_next_consumer_dev()
>   ACPI: bus: Add iterator for dependent devices
>   platform/x86: int3472: Support multiple clock consumers
>   platform/x86: int3472: Add terminator to gpiod_lookup_table
>   platform/x86: int3472: Support multiple gpio lookups in board data
>   platform/x86: int3472: Add board data for Surface Go2 IR camera
> 
>  drivers/acpi/scan.c                           | 47 +++++++++--
>  drivers/clk/clk-tps68470.c                    | 13 +++-
>  drivers/platform/x86/intel/int3472/tps68470.c | 77 +++++++++++++++----
>  drivers/platform/x86/intel/int3472/tps68470.h |  3 +-
>  .../x86/intel/int3472/tps68470_board_data.c   | 58 +++++++++++++-
>  include/acpi/acpi_bus.h                       | 14 ++++
>  include/linux/platform_data/tps68470.h        |  7 +-
>  7 files changed, 188 insertions(+), 31 deletions(-)
>
Daniel Scally Feb. 18, 2022, 8:45 a.m. UTC | #2
Hi Hans

On 17/02/2022 09:55, Hans de Goede wrote:
> Hi Dan,
>
> On 2/16/22 23:52, Daniel Scally wrote:
>> At the moment there are a few places in the int3472-tps68470 driver that are
>> limited to just working with a single consuming device dependent on the PMIC.
>> There are systems where multiple camera sensors share a single TPS68470, so
>> we need to extend the driver to support them. This requires a couple of tweaks
>> to the ACPI functions to fetch dependent devices, which also assumes that only
>> a single dependent will be found.
> This sounds great, thank you for your work on this. I have a bit of a backlog wrt
> pdx86 patches to review and I try to through those in FIFO order to keep things fair,
> so it may be a while (approx. 1-2 weeks) before I get around to reviewing
> these.


No problem, thanks very much

>
> Regards,
>
> Hans
>
>
>> Hans - this (plus a series to media [1]) adds support for the Surface Go 2's
>> IR camera...the regulator settings for the Go1/2/3 world facing camera are the
>> same, so I'd expect them to match for the IR sensor too, which means it should
>> enable support for your Go too.
>>
>> Thanks
>> Dan
>>
>>
>> [1] https://lore.kernel.org/linux-media/20220215230737.1870630-1-djrscally@gmail.com/
>>
>> Daniel Scally (6):
>>   ACPI: scan: Add acpi_dev_get_next_consumer_dev()
>>   ACPI: bus: Add iterator for dependent devices
>>   platform/x86: int3472: Support multiple clock consumers
>>   platform/x86: int3472: Add terminator to gpiod_lookup_table
>>   platform/x86: int3472: Support multiple gpio lookups in board data
>>   platform/x86: int3472: Add board data for Surface Go2 IR camera
>>
>>  drivers/acpi/scan.c                           | 47 +++++++++--
>>  drivers/clk/clk-tps68470.c                    | 13 +++-
>>  drivers/platform/x86/intel/int3472/tps68470.c | 77 +++++++++++++++----
>>  drivers/platform/x86/intel/int3472/tps68470.h |  3 +-
>>  .../x86/intel/int3472/tps68470_board_data.c   | 58 +++++++++++++-
>>  include/acpi/acpi_bus.h                       | 14 ++++
>>  include/linux/platform_data/tps68470.h        |  7 +-
>>  7 files changed, 188 insertions(+), 31 deletions(-)
>>
Hans de Goede Feb. 21, 2022, 10:07 a.m. UTC | #3
Hi,

On 2/16/22 23:52, Daniel Scally wrote:
> At the moment there are a few places in the int3472-tps68470 driver that are
> limited to just working with a single consuming device dependent on the PMIC.
> There are systems where multiple camera sensors share a single TPS68470, so
> we need to extend the driver to support them. This requires a couple of tweaks
> to the ACPI functions to fetch dependent devices, which also assumes that only
> a single dependent will be found.
> 
> Hans - this (plus a series to media [1]) adds support for the Surface Go 2's
> IR camera...the regulator settings for the Go1/2/3 world facing camera are the
> same, so I'd expect them to match for the IR sensor too, which means it should
> enable support for your Go too.

Thank you, this mostly looks good to me. I've added some small remarks but
nothing big stands out.

Rafael, I think it would be easiest for me to merge this entire series through
pdx86/for-next. May I have your ack for patches 1+2 to merge them through
the pdx86 tree?

Regards,

Hans



> [1] https://lore.kernel.org/linux-media/20220215230737.1870630-1-djrscally@gmail.com/
> 
> Daniel Scally (6):
>   ACPI: scan: Add acpi_dev_get_next_consumer_dev()
>   ACPI: bus: Add iterator for dependent devices
>   platform/x86: int3472: Support multiple clock consumers
>   platform/x86: int3472: Add terminator to gpiod_lookup_table
>   platform/x86: int3472: Support multiple gpio lookups in board data
>   platform/x86: int3472: Add board data for Surface Go2 IR camera
> 
>  drivers/acpi/scan.c                           | 47 +++++++++--
>  drivers/clk/clk-tps68470.c                    | 13 +++-
>  drivers/platform/x86/intel/int3472/tps68470.c | 77 +++++++++++++++----
>  drivers/platform/x86/intel/int3472/tps68470.h |  3 +-
>  .../x86/intel/int3472/tps68470_board_data.c   | 58 +++++++++++++-
>  include/acpi/acpi_bus.h                       | 14 ++++
>  include/linux/platform_data/tps68470.h        |  7 +-
>  7 files changed, 188 insertions(+), 31 deletions(-)
>