All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Glass <sjg@chromium.org>
To: u-boot@lists.denx.de
Subject: [PATCH 08/11] dm: core: Add a comment about pinctrl_select_state()
Date: Thu, 21 Jan 2021 13:57:13 -0700	[thread overview]
Message-ID: <20210121205716.964652-9-sjg@chromium.org> (raw)
In-Reply-To: <20210121205716.964652-1-sjg@chromium.org>

The use of pinctrl in the core of driver model is useful but can provoke
some strange behaviour. Add a comment to aid debugging.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 drivers/core/device.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/core/device.c b/drivers/core/device.c
index aeab3836ed7..8629df8defb 100644
--- a/drivers/core/device.c
+++ b/drivers/core/device.c
@@ -462,6 +462,15 @@ int device_probe(struct udevice *dev)
 	 * continue regardless of the result of pinctrl. Don't process pinctrl
 	 * settings for pinctrl devices since the device may not yet be
 	 * probed.
+	 *
+	 * This call can produce some non-intuitive results. For example, on an
+	 * x86 device where dev is the main PCI bus, the pinctrl device may be
+	 * child or grandchild of that bus, meaning that the child will be
+	 * probed here. If the child happens to be the P2SB and the pinctrl
+	 * device is a child of that, then both the pinctrl and P2SB will be
+	 * probed by this call. This works because the DM_FLAG_ACTIVATED flag
+	 * is set just above. However, the PCI bus' probe() method and
+	 * associated uclass methods have not yet been called.
 	 */
 	if (dev->parent && device_get_uclass_id(dev) != UCLASS_PINCTRL)
 		pinctrl_select_state(dev, "default");
-- 
2.30.0.280.ga3ce27912f-goog

  parent reply	other threads:[~2021-01-21 20:57 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-21 20:57 [PATCH 00/11] More minor clean-ups and improvements Simon Glass
2021-01-21 20:57 ` [PATCH 01/11] spl: Tidy up SPL/TPL malloc sizes Simon Glass
2021-01-21 20:57 ` [PATCH 02/11] x86: coral: Support TPM and RTC in SPL Simon Glass
2021-01-21 20:57 ` [PATCH 03/11] i2c: desigware: Add an alias for Intel Apollo Lake Simon Glass
2021-01-26  5:17   ` Heiko Schocher
2021-01-30 21:27   ` Simon Glass
2021-01-21 20:57 ` [PATCH 04/11] sandbox: Disable I2C emulators in SPL Simon Glass
2021-01-26  5:19   ` Heiko Schocher
2021-01-30 21:27   ` Simon Glass
2021-01-21 20:57 ` [PATCH 05/11] dm: core: Don't inline dev_read...() calls with of-platdata Simon Glass
2021-01-21 20:57 ` [PATCH 06/11] clk: Add debugging for return values Simon Glass
2021-01-21 20:57 ` [PATCH 07/11] clk: x86: Correct the driver name Simon Glass
2021-01-21 20:57 ` Simon Glass [this message]
2021-01-21 20:57 ` [PATCH 09/11] dm: core: Update ofnode_read_fmap_entry() to read hashes Simon Glass
2021-01-21 20:57 ` [PATCH 10/11] Add a symlink for ctype.h Simon Glass
2021-01-21 20:57 ` [PATCH 11/11] binman: Print a debug message when binman selects a node Simon Glass
2021-01-30 21:26 ` Simon Glass
2021-01-30 21:26 ` [PATCH 10/11] Add a symlink for ctype.h Simon Glass
2021-01-30 21:27 ` [PATCH 08/11] dm: core: Add a comment about pinctrl_select_state() Simon Glass
2021-01-30 21:27 ` [PATCH 07/11] clk: x86: Correct the driver name Simon Glass
2021-01-30 21:27 ` [PATCH 06/11] clk: Add debugging for return values Simon Glass
2021-01-30 21:27 ` [PATCH 05/11] dm: core: Don't inline dev_read...() calls with of-platdata Simon Glass
2021-01-30 21:27 ` [PATCH 02/11] x86: coral: Support TPM and RTC in SPL Simon Glass
2021-01-30 21:27 ` [PATCH 01/11] spl: Tidy up SPL/TPL malloc sizes Simon Glass

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=20210121205716.964652-9-sjg@chromium.org \
    --to=sjg@chromium.org \
    --cc=u-boot@lists.denx.de \
    /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.