All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thierry Chatard <tchatard@gmail.com>
To: linux-kernel@vger.kernel.org
Cc: hansg@kernel.org, lee@kernel.org,
	platform-driver-x86@vger.kernel.org,
	ilpo.jarvinen@linux.intel.com, djrscally@gmail.com,
	linux-media@vger.kernel.org, mchehab@kernel.org,
	sakari.ailus@linux.intel.com, jacopo.mondi@ideasonboard.com,
	nicholas@rothemail.net, andriy.shevchenko@intel.com,
	v.vitovt@gmail.com, Thierry Chatard <tchatard@gmail.com>
Subject: [PATCH v10 4/8] platform/x86: int3472: tps68470: add static clock consumer support
Date: Mon, 31 Aug 2026 18:07:50 +0200	[thread overview]
Message-ID: <20260831160754.9857-5-tchatard@gmail.com> (raw)
In-Reply-To: <20260831160754.9857-1-tchatard@gmail.com>

On some platforms a sensor's ACPI _DEP does not list the INT3472 device,
so for_each_acpi_consumer_dev() misses that sensor and never registers its
tps68470-clk consumer entry, leaving the sensor without its MCLK.

Add optional n_clk_consumers/clk_consumers fields to the board data. When
set, probe builds the tps68470-clk platform data from that static list
instead of walking the ACPI consumers. Boards that leave the fields unset
keep using the existing ACPI traversal.

Assisted-by: Claude Code:claude-opus-4-8
Signed-off-by: Thierry Chatard <tchatard@gmail.com>
---
 drivers/platform/x86/intel/int3472/tps68470.c | 19 ++++++++++++++++---
 drivers/platform/x86/intel/int3472/tps68470.h |  8 ++++++++
 2 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/drivers/platform/x86/intel/int3472/tps68470.c b/drivers/platform/x86/intel/int3472/tps68470.c
index 35fa77eb3..df0f5f962 100644
--- a/drivers/platform/x86/intel/int3472/tps68470.c
+++ b/drivers/platform/x86/intel/int3472/tps68470.c
@@ -190,9 +190,22 @@ static int skl_int3472_tps68470_probe(struct i2c_client *client)
 		return dev_err_probe(dev, -ENODATA,
 				     "No board-data found for this model\n");
 
-	n_consumers = skl_int3472_fill_clk_pdata(dev, &clk_pdata);
-	if (n_consumers < 0)
-		return n_consumers;
+	if (board_data->n_clk_consumers) {
+		clk_pdata = devm_kzalloc(dev,
+					 struct_size(clk_pdata, consumers,
+						     board_data->n_clk_consumers),
+					 GFP_KERNEL);
+		if (!clk_pdata)
+			return -ENOMEM;
+		clk_pdata->n_consumers = board_data->n_clk_consumers;
+		for (i = 0; i < board_data->n_clk_consumers; i++)
+			clk_pdata->consumers[i] = board_data->clk_consumers[i];
+		n_consumers = board_data->n_clk_consumers;
+	} else {
+		n_consumers = skl_int3472_fill_clk_pdata(dev, &clk_pdata);
+		if (n_consumers < 0)
+			return n_consumers;
+	}
 
 	cells = kzalloc_objs(*cells, TPS68470_WIN_MFD_CELL_COUNT);
 	if (!cells)
diff --git a/drivers/platform/x86/intel/int3472/tps68470.h b/drivers/platform/x86/intel/int3472/tps68470.h
index 3bbaade96..68303e6fa 100644
--- a/drivers/platform/x86/intel/int3472/tps68470.h
+++ b/drivers/platform/x86/intel/int3472/tps68470.h
@@ -12,12 +12,20 @@
 #define _INTEL_SKL_INT3472_TPS68470_H
 
 struct gpiod_lookup_table;
+
+struct tps68470_clk_consumer;
 struct tps68470_regulator_platform_data;
 
 struct int3472_tps68470_board_data {
 	const char *dev_name;
 	const struct tps68470_regulator_platform_data *tps68470_regulator_pdata;
 	const struct software_node *tps68470_gpio_swnode;
+	/*
+	 * Optional static clock consumers, used in place of the ACPI _DEP
+	 * traversal on platforms where a sensor's _DEP omits the INT3472.
+	 */
+	unsigned int n_clk_consumers;
+	const struct tps68470_clk_consumer *clk_consumers;
 	unsigned int n_gpiod_lookups;
 	struct gpiod_lookup_table *tps68470_gpio_lookup_tables[];
 };
-- 
2.53.0


  parent reply	other threads:[~2026-08-31 16:08 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-31 16:07 [PATCH v10 0/8] Enable cameras on Dell Latitude 5285 2-in-1 Thierry Chatard
2026-08-31 16:07 ` [PATCH v10 1/8] mfd: intel-lpss: add resource conflict quirk for Dell Latitude 5285 Thierry Chatard
2026-09-08 16:16   ` [PATCH] mfd: intel-lpss: add Dell Latitude 7275 to the resource conflict quirk D. Manresa
2026-09-08 16:23     ` Hans de Goede
2026-09-09  4:46     ` Andy Shevchenko
2026-09-09  6:51       ` D. Manresa
2026-09-09 15:10         ` Lee Jones
2026-09-09 15:19           ` Sakari Ailus
2026-09-09 16:09           ` Andy Shevchenko
2026-09-10  9:47             ` Lee Jones
2026-09-10 15:17               ` Andy Shevchenko
2026-08-31 16:07 ` [PATCH v10 2/8] platform/x86: int3472: tps68470: use unsigned int for GPIO lookup loop counters Thierry Chatard
2026-09-01  9:48   ` Andy Shevchenko
2026-08-31 16:07 ` [PATCH v10 3/8] platform/x86: int3472: tps68470: move Windows MFD setup below the device-type switch Thierry Chatard
2026-09-01 10:55   ` Andy Shevchenko
2026-08-31 16:07 ` Thierry Chatard [this message]
2026-09-01 11:12   ` [PATCH v10 4/8] platform/x86: int3472: tps68470: add static clock consumer support Andy Shevchenko
2026-09-04  7:06     ` Sakari Ailus
2026-08-31 16:07 ` [PATCH v10 5/8] platform/x86: int3472: tps68470: use a common always-on VIO regulator init_data Thierry Chatard
2026-09-01 11:13   ` Andy Shevchenko
2026-08-31 16:07 ` [PATCH v10 6/8] platform/x86: int3472: tps68470: add board data for Dell Latitude 5285 Thierry Chatard
2026-09-01 11:15   ` Andy Shevchenko
2026-08-31 16:07 ` [PATCH v10 7/8] media: ipu-bridge: add sensor configuration for OV8858 (INT3477) Thierry Chatard
2026-09-01  9:48   ` Andy Shevchenko
2026-08-31 16:07 ` [PATCH v10 8/8] media: ov8858: add ACPI device ID INT3477 Thierry Chatard
2026-09-01 10:56   ` Andy Shevchenko

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=20260831160754.9857-5-tchatard@gmail.com \
    --to=tchatard@gmail.com \
    --cc=andriy.shevchenko@intel.com \
    --cc=djrscally@gmail.com \
    --cc=hansg@kernel.org \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=jacopo.mondi@ideasonboard.com \
    --cc=lee@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=nicholas@rothemail.net \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=v.vitovt@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.