From: Daniel Scally <djrscally@gmail.com>
To: tfiga@chromium.org, sakari.ailus@linux.intel.com,
rajmohan.mani@intel.com, rjw@rjwysocki.net, lenb@kernel.org,
mika.westerberg@linux.intel.com, linus.walleij@linaro.org,
bgolaszewski@baylibre.com, wsa@kernel.org, lee.jones@linaro.org
Cc: andy.shevchenko@linux.intel.com,
kieran.bingham+renesas@ideasonboard.com,
laurent.pinchart@ideasonboard.com, hdegoede@redhat.com,
mgross@linux.intel.com, luzmaximilian@gmail.com,
robert.moore@intel.com, erik.kaneda@intel.com, me@fabwu.ch,
linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org,
linux-gpio@vger.kernel.org, linux-i2c@vger.kernel.org,
platform-driver-x86@vger.kernel.org, devel@acpica.org
Subject: [PATCH v3 0/6] Introduce intel_skl_int3472 module
Date: Mon, 22 Feb 2021 13:07:29 +0000 [thread overview]
Message-ID: <20210222130735.1313443-1-djrscally@gmail.com> (raw)
v1 for this series was originally 14-18 of this series:
https://lore.kernel.org/linux-media/20201130133129.1024662-1-djrscally@gmail.com/T/#m91934e12e3d033da2e768e952ea3b4a125ee3e67
v2 was here:
https://lore.kernel.org/platform-driver-x86/20210118003428.568892-1-djrscally@gmail.com/
Series level changelog:
- Dropped the patch moving acpi_lpss_dep() to utils since it's not used
in acpi_dev_get_dependent_dev() anymore.
- Replaced it with a patch extending acpi_walk_dep_device_list() to be
able to apply a given callback against each device in acpi_dep_list
- Dropped the patch creating acpi_i2c_dev_name() and simply open coded
that functionality.
This has been tested on a number of devices, but currently **not** on a device
designed for ChromeOS, which we ideally need to do to ensure no regression
caused by replacing the tps68470 MFD driver. Sakari / Tomasz, is there any way
you could help with that? Unfortunately, I don't have a device to test it on
myself.
Original cover letter:
At the moment in the kernel the ACPI _HID INT3472 is taken by the tps68470
MFD driver, but that driver can only handle some of the cases of that _HID
that we see. There are at least these three possibilities:
1. INT3472 devices that provide GPIOs through the usual framework and run
power and clocks through an operation region; this is the situation that
the current module handles and is seen on ChromeOS devices
2. INT3472 devices that provide GPIOs, plus clocks and regulators that are
meant to be driven through the usual frameworks, usually seen on devices
designed to run Windows
3. INT3472 devices that don't actually represent a physical tps68470, but
are being used as a convenient way of grouping a bunch of system GPIO
lines that are intended to enable power and clocks for sensors which
are called out as dependent on them. Also seen on devices designed to
run Windows.
This series introduces a new module which registers:
1. An i2c driver that determines which scenario (#1 or #2) applies to the
machine and registers platform devices to be bound to GPIO, OpRegion,
clock and regulator drivers as appropriate.
2. A platform driver that binds to the dummy INT3472 devices described in
#3
The platform driver for the dummy device registers the GPIO lines that
enable the clocks and regulators to the sensors via those frameworks so
that sensor drivers can consume them in the usual fashion. The existing
GPIO and OpRegion tps68470 drivers will work with the i2c driver that's
registered. Clock and regulator drivers are available but have not so far been
tested, so aren't part of this series.
The existing mfd/tps68470.c driver being thus superseded, it is removed.
Thanks
Dan
Daniel Scally (6):
ACPI: scan: Extend acpi_walk_dep_device_list()
ACPI: scan: Add function to fetch dependent of acpi device
i2c: core: Add a format macro for I2C device names
gpiolib: acpi: Export acpi_get_gpiod()
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 | 92 ++-
drivers/gpio/Kconfig | 2 +-
drivers/gpio/gpiolib-acpi.c | 38 +-
drivers/i2c/i2c-core-acpi.c | 2 +-
drivers/i2c/i2c-core-base.c | 4 +-
drivers/mfd/Kconfig | 18 -
drivers/mfd/Makefile | 1 -
drivers/mfd/tps68470.c | 97 ---
drivers/platform/surface/surface3_power.c | 2 +-
drivers/platform/x86/Kconfig | 2 +
drivers/platform/x86/Makefile | 1 +
drivers/platform/x86/intel-int3472/Kconfig | 31 +
drivers/platform/x86/intel-int3472/Makefile | 4 +
.../intel-int3472/intel_skl_int3472_common.c | 106 ++++
.../intel-int3472/intel_skl_int3472_common.h | 110 ++++
.../intel_skl_int3472_discrete.c | 592 ++++++++++++++++++
.../intel_skl_int3472_tps68470.c | 113 ++++
include/acpi/acpi_bus.h | 8 +
include/linux/acpi.h | 4 +-
include/linux/gpio/consumer.h | 7 +
include/linux/i2c.h | 3 +
25 files changed, 1100 insertions(+), 148 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_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
--
2.25.1
next reply other threads:[~2021-02-22 14:03 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-22 13:07 Daniel Scally [this message]
2021-02-22 13:07 ` [PATCH v3 1/6] ACPI: scan: Extend acpi_walk_dep_device_list() Daniel Scally
2021-02-22 13:34 ` Andy Shevchenko
2021-03-07 13:36 ` Daniel Scally
2021-03-07 20:39 ` Andy Shevchenko
2021-03-08 13:36 ` Rafael J. Wysocki
2021-03-08 13:57 ` Andy Shevchenko
2021-03-08 15:45 ` Rafael J. Wysocki
2021-03-08 17:23 ` Rafael J. Wysocki
2021-03-08 20:49 ` Daniel Scally
2021-02-22 13:38 ` Wolfram Sang
2021-03-08 17:46 ` Rafael J. Wysocki
2021-03-08 20:40 ` Daniel Scally
2021-02-22 13:07 ` [PATCH v3 2/6] ACPI: scan: Add function to fetch dependent of acpi device Daniel Scally
2021-02-22 13:41 ` Andy Shevchenko
2021-02-22 13:07 ` [PATCH v3 3/6] i2c: core: Add a format macro for I2C device names Daniel Scally
2021-02-22 13:38 ` Wolfram Sang
2021-02-22 13:07 ` [PATCH v3 4/6] gpiolib: acpi: Export acpi_get_gpiod() Daniel Scally
2021-02-22 13:54 ` Andy Shevchenko
2021-02-22 13:07 ` [PATCH v3 5/6] platform/x86: Add intel_skl_int3472 driver Daniel Scally
2021-02-22 13:19 ` Daniel Scally
2021-02-22 13:27 ` Hans de Goede
2021-02-22 22:50 ` Daniel Scally
2021-02-22 14:58 ` Andy Shevchenko
2021-02-22 22:35 ` Daniel Scally
2021-02-23 12:01 ` Andy Shevchenko
2021-02-23 13:06 ` Daniel Scally
2021-05-17 21:43 ` Daniel Scally
2021-05-17 21:47 ` Andy Shevchenko
2021-02-23 20:04 ` Laurent Pinchart
2021-02-23 22:36 ` Daniel Scally
2021-02-24 10:13 ` Laurent Pinchart
2021-02-24 10:18 ` Andy Shevchenko
2021-02-24 10:20 ` Daniel Scally
2021-02-22 13:07 ` [PATCH v3 6/6] mfd: tps68470: Remove tps68470 MFD driver Daniel Scally
2021-02-22 14:12 ` Andy Shevchenko
2021-02-22 22:37 ` Daniel Scally
2021-03-10 9:33 ` Lee Jones
2021-02-22 13:11 ` [PATCH v3 0/6] Introduce intel_skl_int3472 module Daniel Scally
2021-02-22 14:15 ` Andy Shevchenko
2021-03-04 13:37 ` Hans de Goede
2021-03-04 13:49 ` Daniel Scally
2021-03-29 15:03 ` Andy Shevchenko
2021-03-29 20:37 ` Daniel Scally
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210222130735.1313443-1-djrscally@gmail.com \
--to=djrscally@gmail.com \
--cc=andy.shevchenko@linux.intel.com \
--cc=bgolaszewski@baylibre.com \
--cc=devel@acpica.org \
--cc=erik.kaneda@intel.com \
--cc=hdegoede@redhat.com \
--cc=kieran.bingham+renesas@ideasonboard.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=lee.jones@linaro.org \
--cc=lenb@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luzmaximilian@gmail.com \
--cc=me@fabwu.ch \
--cc=mgross@linux.intel.com \
--cc=mika.westerberg@linux.intel.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=rajmohan.mani@intel.com \
--cc=rjw@rjwysocki.net \
--cc=robert.moore@intel.com \
--cc=sakari.ailus@linux.intel.com \
--cc=tfiga@chromium.org \
--cc=wsa@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).