From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Tony Luck <tony.luck@intel.com>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Wolfram Sang <wsa@kernel.org>, Jean Delvare <jdelvare@suse.de>,
Heiner Kallweit <hkallweit1@gmail.com>,
Henning Schild <henning.schild@siemens.com>,
Lee Jones <lee.jones@linaro.org>,
Mika Westerberg <mika.westerberg@linux.intel.com>,
Hans de Goede <hdegoede@redhat.com>,
Linus Walleij <linus.walleij@linaro.org>,
Jonathan Yong <jonathan.yong@intel.com>,
Guenter Roeck <linux@roeck-us.net>,
Wim Van Sebroeck <wim@linux-watchdog.org>,
linux-kernel@vger.kernel.org, linux-edac@vger.kernel.org,
linux-i2c@vger.kernel.org, linux-leds@vger.kernel.org,
linux-gpio@vger.kernel.org, platform-driver-x86@vger.kernel.org,
linux-watchdog@vger.kernel.org
Cc: Borislav Petkov <bp@alien8.de>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
James Morse <james.morse@arm.com>,
Robert Richter <rric@kernel.org>,
Jean Delvare <jdelvare@suse.com>, Pavel Machek <pavel@ucw.cz>,
Peter Tyser <ptyser@xes-inc.com>,
Andy Shevchenko <andy@kernel.org>,
Mark Gross <markgross@kernel.org>
Subject: [PATCH v6 02/12] pinctrl: intel: Check against matching data instead of ACPI companion
Date: Mon, 6 Jun 2022 19:41:28 +0300 [thread overview]
Message-ID: <20220606164138.66535-3-andriy.shevchenko@linux.intel.com> (raw)
In-Reply-To: <20220606164138.66535-1-andriy.shevchenko@linux.intel.com>
In some cases we may get a platform device that has ACPI companion
which is different to the pin control described in the ACPI tables.
This is primarily happens when device is instantiated by board file.
In order to allow this device being enumerated, refactor
intel_pinctrl_get_soc_data() to check the matching data instead of
ACPI companion.
Reported-by: Henning Schild <henning.schild@siemens.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Henning Schild <henning.schild@siemens.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
---
drivers/pinctrl/intel/pinctrl-intel.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/drivers/pinctrl/intel/pinctrl-intel.c b/drivers/pinctrl/intel/pinctrl-intel.c
index ffc045f7bf00..fd093e36c3a8 100644
--- a/drivers/pinctrl/intel/pinctrl-intel.c
+++ b/drivers/pinctrl/intel/pinctrl-intel.c
@@ -1641,16 +1641,14 @@ EXPORT_SYMBOL_GPL(intel_pinctrl_probe_by_uid);
const struct intel_pinctrl_soc_data *intel_pinctrl_get_soc_data(struct platform_device *pdev)
{
+ const struct intel_pinctrl_soc_data * const *table;
const struct intel_pinctrl_soc_data *data = NULL;
- const struct intel_pinctrl_soc_data **table;
- struct acpi_device *adev;
- unsigned int i;
- adev = ACPI_COMPANION(&pdev->dev);
- if (adev) {
- const void *match = device_get_match_data(&pdev->dev);
+ table = device_get_match_data(&pdev->dev);
+ if (table) {
+ struct acpi_device *adev = ACPI_COMPANION(&pdev->dev);
+ unsigned int i;
- table = (const struct intel_pinctrl_soc_data **)match;
for (i = 0; table[i]; i++) {
if (!strcmp(adev->pnp.unique_id, table[i]->uid)) {
data = table[i];
@@ -1664,7 +1662,7 @@ const struct intel_pinctrl_soc_data *intel_pinctrl_get_soc_data(struct platform_
if (!id)
return ERR_PTR(-ENODEV);
- table = (const struct intel_pinctrl_soc_data **)id->driver_data;
+ table = (const struct intel_pinctrl_soc_data * const *)id->driver_data;
data = table[pdev->id];
}
--
2.35.1
next prev parent reply other threads:[~2022-06-06 16:41 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-06 16:41 [PATCH v6 00/12] platform/x86: introduce p2sb_bar() helper Andy Shevchenko
2022-06-06 16:41 ` [PATCH v6 01/12] platform/x86/intel: Add Primary to Sideband (P2SB) bridge support Andy Shevchenko
2022-06-06 16:41 ` Andy Shevchenko [this message]
2022-06-06 16:41 ` [PATCH v6 03/12] mfd: lpc_ich: Factor out lpc_ich_enable_spi_write() Andy Shevchenko
2022-06-06 16:41 ` [PATCH v6 04/12] mfd: lpc_ich: Switch to generic p2sb_bar() Andy Shevchenko
2022-06-06 16:41 ` [PATCH v6 05/12] mfd: lpc_ich: Add support for pinctrl in non-ACPI system Andy Shevchenko
2022-06-06 16:41 ` [PATCH v6 06/12] i2c: i801: convert to use common P2SB accessor Andy Shevchenko
2022-06-06 16:41 ` [PATCH v6 07/12] EDAC, pnd2: Use proper I/O accessors and address space annotation Andy Shevchenko
2022-06-06 16:41 ` [PATCH v6 08/12] EDAC, pnd2: convert to use common P2SB accessor Andy Shevchenko
2022-06-06 16:41 ` [PATCH v6 09/12] watchdog: simatic-ipc-wdt: convert to use " Andy Shevchenko
2022-06-06 16:41 ` [PATCH v6 10/12] leds: simatic-ipc-leds: " Andy Shevchenko
2022-06-06 16:41 ` [PATCH v6 11/12] platform/x86: simatic-ipc: drop custom P2SB bar code Andy Shevchenko
2022-06-07 17:15 ` Hans de Goede
2022-06-06 16:41 ` [PATCH v6 12/12] leds: simatic-ipc-leds-gpio: add GPIO version of Siemens driver Andy Shevchenko
2022-08-01 14:09 ` Henning Schild
2022-08-02 10:54 ` Henning Schild
2022-06-07 17:16 ` [PATCH v6 00/12] platform/x86: introduce p2sb_bar() helper Hans de Goede
2022-06-08 7:42 ` Lee Jones
2022-06-08 10:50 ` Andy Shevchenko
2022-06-21 11:58 ` Andy Shevchenko
2022-06-29 16:39 ` Andy Shevchenko
2022-06-29 17:14 ` Henning Schild
2022-07-13 16:40 ` Andy Shevchenko
2022-07-13 16:51 ` Rafael J. Wysocki
2022-07-13 18:48 ` Henning Schild
2022-07-14 9:37 ` Lee Jones
2022-07-14 10:23 ` Andy Shevchenko
2022-07-14 10:34 ` Lee Jones
2022-07-14 11:03 ` Henning Schild
2022-07-14 11:26 ` Pavel Machek
2022-07-14 12:10 ` Lee Jones
2022-07-17 10:27 ` Pavel Machek
2022-07-18 11:17 ` Andy Shevchenko
2022-08-10 7:38 ` Henning Schild
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=20220606164138.66535-3-andriy.shevchenko@linux.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=andy@kernel.org \
--cc=bp@alien8.de \
--cc=hdegoede@redhat.com \
--cc=henning.schild@siemens.com \
--cc=hkallweit1@gmail.com \
--cc=james.morse@arm.com \
--cc=jdelvare@suse.com \
--cc=jdelvare@suse.de \
--cc=jonathan.yong@intel.com \
--cc=lee.jones@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-edac@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=linux-watchdog@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=markgross@kernel.org \
--cc=mchehab@kernel.org \
--cc=mika.westerberg@linux.intel.com \
--cc=pavel@ucw.cz \
--cc=platform-driver-x86@vger.kernel.org \
--cc=ptyser@xes-inc.com \
--cc=rric@kernel.org \
--cc=tony.luck@intel.com \
--cc=wim@linux-watchdog.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).