linux-clk.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Herve Codina <herve.codina@bootlin.com>
To: Kalle Niemi <kaleposti@gmail.com>, Rob Herring <robh@kernel.org>
Cc: Matti Vaittinen <mazziesaccount@gmail.com>,
	Andrew Lunn <andrew@lunn.ch>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Danilo Krummrich <dakr@kernel.org>,
	Shawn Guo <shawnguo@kernel.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Pengutronix Kernel Team <kernel@pengutronix.de>,
	Fabio Estevam <festevam@gmail.com>,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>,
	Andi Shyti <andi.shyti@kernel.org>,
	Wolfram Sang <wsa+renesas@sang-engineering.com>,
	Peter Rosin <peda@axentia.se>, Arnd Bergmann <arnd@arndb.de>,
	Saravana Kannan <saravanak@google.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Charles Keepax <ckeepax@opensource.cirrus.com>,
	Richard Fitzgerald <rf@opensource.cirrus.com>,
	David Rhodes <david.rhodes@cirrus.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Mark Brown <broonie@kernel.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Daniel Scally <djrscally@gmail.com>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Sakari Ailus <sakari.ailus@linux.intel.com>,
	Len Brown <lenb@kernel.org>, Davidlohr Bueso <dave@stgolabs.net>,
	Jonathan Cameron <jonathan.cameron@huawei.com>,
	Dave Jiang <dave.jiang@intel.com>,
	Alison Schofield <alison.schofield@intel.com>,
	Vishal Verma <vishal.l.verma@intel.com>,
	Ira Weiny <ira.weiny@intel.com>,
	Dan Williams <dan.j.williams@intel.com>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	Wolfram Sang <wsa@kernel.org>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
	linux-clk@vger.kernel.org, linux-i2c@vger.kernel.org,
	linux-pci@vger.kernel.org, linux-sound@vger.kernel.org,
	patches@opensource.cirrus.com, linux-gpio@vger.kernel.org,
	linux-pm@vger.kernel.org, linux-spi@vger.kernel.org,
	linux-acpi@vger.kernel.org, linux-cxl@vger.kernel.org,
	Allan Nielsen <allan.nielsen@microchip.com>,
	Horatiu Vultur <horatiu.vultur@microchip.com>,
	Steen Hegelund <steen.hegelund@microchip.com>,
	Luca Ceresoli <luca.ceresoli@bootlin.com>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Subject: Re: [PATCH v4 01/29] Revert "treewide: Fix probing of devices in DT overlays"
Date: Tue, 2 Dec 2025 17:58:36 +0100	[thread overview]
Message-ID: <20251202175836.747593c0@bootlin.com> (raw)
In-Reply-To: <088af3ff-bd04-4bc9-b304-85f6ed555f2a@gmail.com>

Hi Kalle, Matti,

On Tue, 2 Dec 2025 13:21:16 +0200
Kalle Niemi <kaleposti@gmail.com> wrote:

> On 12/2/25 11:26, Herve Codina wrote:
> > Hi Kalle,
> > 
> > On Fri, 28 Nov 2025 10:34:57 +0200
> > Kalle Niemi <kaleposti@gmail.com> wrote:
> > 
> > ...  
> >>>>>>>>
> >>>>>>>> Hello,
> >>>>>>>>
> >>>>>>>> Test system testing drivers for ROHM ICs bisected this commit to cause
> >>>>>>>> BD71847 drivers probe to not be called.  
> >>>>>>> This driver (and overlay support) is in linux-next or something out of
> >>>>>>> tree on top of linux-next?
> >>>>>>>
> >>>>>>> Rob  
> >>>>>> Yes the driver is in mainline linux: /drivers/mfd/rohm-bd718x7.c  
> >>>>> I don't see any support to apply overlays in that driver.  
> >>>> Ah. Sorry for the confusion peeps. I asked Kalle to report this without
> >>>> proper consideration. 100% my bad.
> >>>>
> >>>> While the bd718x7 drive indeed is mainline (and tested), the actual
> >>>> 'glue-code' doing the overlay is part of the downstream test
> >>>> infrastructure. So yes, this is not a bug in upstream kernel - this
> >>>> falls in the category of an upstream change causing downstream things to
> >>>> break. So, feel free to say: "Go fix your code" :)
> >>>>
> >>>> Now that this is sorted, if someone is still interested in helping us to
> >>>> get our upstream drivers tested - the downstream piece is just taking
> >>>> the compiled device-tree overlay at runtime (via bin-attribute file),
> >>>> and applying it using the of_overlay_fdt_apply(). The approach is
> >>>> working for our testing purposes when the device is added to I2C/SPI
> >>>> node which is already enabled. However, in case where we have the I2C
> >>>> disabled, and enable it in the same overlay where we add the new device
> >>>> - then the new device does not get probed.
> >>>>
> >>>> I would be really grateful if someone had a pointer for us.  
> >>> Seems to be fw_devlink related. I suppose if you turn it off it works?
> >>> There's info about the dependencies in sysfs or maybe debugfs. I don't
> >>> remember the details, but that should help to tell you why things
> >>> aren't probing.  
> > 
> > Rob reverted patches but I plan to continue my work on it.
> > On my side, I need the reverted patches but I fully understand that, on
> > your side, you need a working system.
> > 
> > In order to move forward and find a solution for my next iteration, can you
> > send your overlay (dtso) used in your working and non working cases?
> > 
> > Best regards,
> > Hervé  
> 
> Hello Hervé,
> 
> I have attached the overlay source file: bd71847_overlay.dts

Thanks a lot for your overlay.

I did an update of the reverted patches and I didn't detect any regression
with the update applied on my use case but I don't have the needed code to
perform tests similar to your use case. Indeed, you apply the overlay using
an out of tree code.

May I ask you to perform a test of this update on your side?

First you can use the last linux-next kernel where reverted patches are present.
The next-20251127 tag is a good candidate. Indeed both patches are present:
  - 76841259ac092 ("of: dynamic: Fix overlayed devices not probing because of fw_devlink")
  - 7d67ddc5f0148 ("Revert "treewide: Fix probing of devices in DT overlays"")

Of course, be sure to have the issue using this kernel with your overlays.

Then can you add the following modification on your faulty kernel:
---- 8< ----
diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c
index 1528d8ad9f26..aea7bb26d9c4 100644
--- a/drivers/of/overlay.c
+++ b/drivers/of/overlay.c
@@ -190,6 +190,20 @@ static void overlay_fw_devlink_refresh(struct overlay_changeset *ovcs)
        for (int i = 0; i < ovcs->count; i++) {
                struct device_node *np = ovcs->fragments[i].target;
 
+               /*
+                * The device related to target node itself could have been
+                * removed and re-added. This happens when the 'status' property
+                * in the target node has been changed by the overlay.
+                *
+                * In that case the parent node needs to be fixed.
+                *
+                * Before fixing the target node itself, fix its parent. To keep
+                * things simple, fix the parent in any case. If nothing needs
+                * to be fixed, fw_devlink_refresh_fwnode() acts as a no-op.
+                */
+               if (np->parent)
+                       fw_devlink_refresh_fwnode(of_fwnode_handle(np->parent));
+
                fw_devlink_refresh_fwnode(of_fwnode_handle(np));
        }
 }
---- 8< ----

My hope is that this modification will fix your issue.
If so, I will add it in my next iteration.

If you cannot perform the test on your side, can you provide me the out of
tree code you use to apply the overlay?

Best regards,
Hervé

  reply	other threads:[~2025-12-02 16:58 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-15  7:13 [PATCH v4 00/29] lan966x pci device: Add support for SFPs Herve Codina
2025-10-15  7:13 ` [PATCH v4 01/29] Revert "treewide: Fix probing of devices in DT overlays" Herve Codina
2025-11-24 13:03   ` Kalle Niemi
2025-11-24 14:53     ` Rob Herring
2025-11-24 15:07       ` Kalle Niemi
2025-11-24 17:01         ` Rob Herring
2025-11-25  6:42           ` Matti Vaittinen
2025-11-27  1:54             ` Rob Herring
2025-11-27  7:24               ` Herve Codina
2025-11-28  8:34               ` Kalle Niemi
2025-12-02  9:26                 ` Herve Codina
2025-12-02 11:21                   ` Kalle Niemi
2025-12-02 16:58                     ` Herve Codina [this message]
2025-12-03 10:11                       ` Kalle Niemi
2025-12-04  7:38                         ` Herve Codina
2025-12-04 10:49                           ` Geert Uytterhoeven
2025-12-04 12:06                             ` Andy Shevchenko
2025-12-10 12:21                             ` Herve Codina
2025-12-11  8:34                               ` Matti Vaittinen
2025-12-11 12:20                                 ` Herve Codina
2025-12-04 12:04                           ` Andy Shevchenko
2025-12-02 16:35                   ` Geert Uytterhoeven
2025-12-02 17:28                     ` Herve Codina
2025-12-03 10:06                       ` Geert Uytterhoeven
2025-10-15  7:13 ` [PATCH v4 02/29] driver core: Rename get_dev_from_fwnode() wrapper to get_device_from_fwnode() Herve Codina
2025-10-21 10:36   ` Ulf Hansson
2025-10-15  7:13 ` [PATCH v4 03/29] of: dynamic: Fix overlayed devices not probing because of fw_devlink Herve Codina
2025-10-15  7:13 ` [PATCH v4 04/29] driver core: Avoid warning when removing a device while its supplier is unbinding Herve Codina
2025-10-15  7:13 ` [PATCH v4 05/29] dt-bindings: bus: Add simple-platform-bus Herve Codina
2025-10-30 14:14   ` Rob Herring
2025-10-31 15:20     ` Herve Codina
2025-11-12 14:26       ` Rob Herring
2025-11-12 19:29         ` Rob Herring
2025-11-14  7:30           ` Herve Codina
2025-10-31  8:52   ` Geert Uytterhoeven
2025-10-31 14:29     ` Herve Codina
2025-10-15  7:13 ` [PATCH v4 06/29] bus: Introduce simple-platorm-bus Herve Codina
2025-10-21 14:07   ` Andy Shevchenko
2025-10-15  7:13 ` [PATCH v4 07/29] misc: lan966x_pci: Use simple-platform-bus Herve Codina
2025-10-15  7:13 ` [PATCH v4 08/29] driver core: fw_devlink: Introduce fw_devlink_set_device() Herve Codina
2025-10-21 10:36   ` Ulf Hansson
2025-10-21 14:08   ` Andy Shevchenko
2025-10-15  7:13 ` [PATCH v4 09/29] drivers: core: Use fw_devlink_set_device() Herve Codina
2025-10-21 10:36   ` Ulf Hansson
2025-10-15  7:13 ` [PATCH v4 10/29] pinctrl: cs42l43: " Herve Codina
2025-10-15  7:13 ` [PATCH v4 11/29] cxl/test: Use device_set_node() Herve Codina
2025-10-15  7:13 ` [PATCH v4 12/29] cxl/test: Use fw_devlink_set_device() Herve Codina
2025-10-15  7:14 ` [PATCH v4 13/29] PCI: of: " Herve Codina
2025-10-15  7:14 ` [PATCH v4 14/29] PCI: of: Set fwnode device of newly created PCI device nodes Herve Codina
2025-10-15  7:14 ` [PATCH v4 15/29] PCI: of: Remove fwnode_dev_initialized() call for a PCI root bridge node Herve Codina
2025-10-15  7:14 ` [PATCH v4 16/29] i2c: core: Introduce i2c_get_adapter_physdev() Herve Codina
2025-10-15  7:14 ` [PATCH v4 17/29] i2c: mux: Set adapter physical device Herve Codina
2025-10-30 13:35   ` Andi Shyti
2025-10-15  7:14 ` [PATCH v4 18/29] i2c: mux: Create missing devlink between mux and " Herve Codina
2025-10-30 15:23   ` Andi Shyti
2025-10-30 17:45     ` Andy Shevchenko
2025-11-03 13:34     ` Herve Codina
2025-10-15  7:14 ` [PATCH v4 19/29] of: property: Allow fw_devlink device-tree on x86 Herve Codina
2025-10-30 14:46   ` Rob Herring
2025-10-15  7:14 ` [PATCH v4 20/29] clk: lan966x: Add MCHP_LAN966X_PCI dependency Herve Codina
2025-10-15  7:14 ` [PATCH v4 21/29] i2c: busses: at91: " Herve Codina
2025-10-15  7:14 ` [PATCH v4 22/29] misc: lan966x_pci: Fix dtso nodes ordering Herve Codina
2025-10-15  7:14 ` [PATCH v4 23/29] misc: lan966x_pci: Split dtso in dtsi/dtso Herve Codina
2025-10-15  7:14 ` [PATCH v4 24/29] misc: lan966x_pci: Rename lan966x_pci.dtso to lan966x_evb_lan9662_nic.dtso Herve Codina
2025-10-15  7:14 ` [PATCH v4 25/29] PCI: Add Microchip LAN9662 PCI Device ID Herve Codina
2025-10-15  7:14 ` [PATCH v4 26/29] misc: lan966x_pci: Introduce board specific data Herve Codina
2025-10-15  7:14 ` [PATCH v4 27/29] misc: lan966x_pci: Add dtsi/dtso nodes in order to support SFPs Herve Codina
2025-10-15  7:14 ` [PATCH v4 28/29] misc: lan966x_pci: Sort the drivers list in Kconfig help Herve Codina
2025-10-15  7:14 ` [PATCH v4 29/29] misc: lan966x_pci: Add drivers needed to support SFPs " Herve Codina
2025-11-14 17:48 ` [PATCH v4 00/29] lan966x pci device: Add support for SFPs Rob Herring

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=20251202175836.747593c0@bootlin.com \
    --to=herve.codina@bootlin.com \
    --cc=alison.schofield@intel.com \
    --cc=allan.nielsen@microchip.com \
    --cc=andi.shyti@kernel.org \
    --cc=andrew@lunn.ch \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=arnd@arndb.de \
    --cc=bhelgaas@google.com \
    --cc=broonie@kernel.org \
    --cc=ckeepax@opensource.cirrus.com \
    --cc=conor+dt@kernel.org \
    --cc=dakr@kernel.org \
    --cc=dan.j.williams@intel.com \
    --cc=dave.jiang@intel.com \
    --cc=dave@stgolabs.net \
    --cc=david.rhodes@cirrus.com \
    --cc=devicetree@vger.kernel.org \
    --cc=djrscally@gmail.com \
    --cc=festevam@gmail.com \
    --cc=geert+renesas@glider.be \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=horatiu.vultur@microchip.com \
    --cc=imx@lists.linux.dev \
    --cc=ira.weiny@intel.com \
    --cc=jonathan.cameron@huawei.com \
    --cc=kaleposti@gmail.com \
    --cc=kernel@pengutronix.de \
    --cc=krzk+dt@kernel.org \
    --cc=lenb@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-cxl@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=luca.ceresoli@bootlin.com \
    --cc=mazziesaccount@gmail.com \
    --cc=mturquette@baylibre.com \
    --cc=patches@opensource.cirrus.com \
    --cc=peda@axentia.se \
    --cc=rafael@kernel.org \
    --cc=rf@opensource.cirrus.com \
    --cc=robh@kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=sakari.ailus@linux.intel.com \
    --cc=saravanak@google.com \
    --cc=sboyd@kernel.org \
    --cc=shawnguo@kernel.org \
    --cc=steen.hegelund@microchip.com \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=ulf.hansson@linaro.org \
    --cc=vishal.l.verma@intel.com \
    --cc=wsa+renesas@sang-engineering.com \
    --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).