linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] Bring back driver_deferred_probe_check_state() for now
@ 2022-08-19 22:16 Saravana Kannan
  2022-08-19 22:16 ` [PATCH v2 1/4] Revert "driver core: Delete driver_deferred_probe_check_state()" Saravana Kannan
                   ` (5 more replies)
  0 siblings, 6 replies; 14+ messages in thread
From: Saravana Kannan @ 2022-08-19 22:16 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Rafael J. Wysocki, Kevin Hilman, Ulf Hansson,
	Pavel Machek, Len Brown, Joerg Roedel, Will Deacon, Robin Murphy,
	Andrew Lunn, Heiner Kallweit, Russell King, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Saravana Kannan
  Cc: Peng Fan, Luca Weiss, Doug Anderson, Colin Foster, Tony Lindgren,
	Alexander Stein, Naresh Kamboju, Geert Uytterhoeven,
	Jean-Philippe Brucker, kernel-team, linux-kernel, linux-pm,
	iommu, netdev

A bunch of issues have been reported in the original series[1] that removed
driver_deferred_probe_check_state(). While most of the issues have been
fixed in a new series that improved fw_devlink [2], there are still a few
unresolved issues I need to address.

So let's bring back driver_deferred_probe_check_state() until the other
issues are resolved.

Greg,

Can we get this into 6.0-rcX please?

-Saravana

[1] - https://lore.kernel.org/lkml/20220601070707.3946847-1-saravanak@google.com/
[2] - https://lore.kernel.org/lkml/20220810060040.321697-1-saravanak@google.com/

v1 -> v2:
- Added a revert of the iommu change too.

Saravana Kannan (4):
  Revert "driver core: Delete driver_deferred_probe_check_state()"
  Revert "net: mdio: Delete usage of
    driver_deferred_probe_check_state()"
  Revert "PM: domains: Delete usage of
    driver_deferred_probe_check_state()"
  Revert "iommu/of: Delete usage of driver_deferred_probe_check_state()"

 drivers/base/dd.c              | 30 ++++++++++++++++++++++++++++++
 drivers/base/power/domain.c    |  2 +-
 drivers/iommu/of_iommu.c       |  2 +-
 drivers/net/mdio/fwnode_mdio.c |  4 +++-
 include/linux/device/driver.h  |  1 +
 5 files changed, 36 insertions(+), 3 deletions(-)

-- 
2.37.1.595.g718a3a8f04-goog


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH v2 1/4] Revert "driver core: Delete driver_deferred_probe_check_state()"
  2022-08-19 22:16 [PATCH v2 0/4] Bring back driver_deferred_probe_check_state() for now Saravana Kannan
@ 2022-08-19 22:16 ` Saravana Kannan
  2022-08-22 20:34   ` Doug Anderson
  2022-08-23  9:02   ` Peng Fan
  2022-08-19 22:16 ` [PATCH v2 2/4] Revert "net: mdio: Delete usage of driver_deferred_probe_check_state()" Saravana Kannan
                   ` (4 subsequent siblings)
  5 siblings, 2 replies; 14+ messages in thread
From: Saravana Kannan @ 2022-08-19 22:16 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Rafael J. Wysocki, Kevin Hilman, Ulf Hansson,
	Pavel Machek, Len Brown, Joerg Roedel, Will Deacon, Robin Murphy,
	Andrew Lunn, Heiner Kallweit, Russell King, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Saravana Kannan
  Cc: Peng Fan, Luca Weiss, Doug Anderson, Colin Foster, Tony Lindgren,
	Alexander Stein, Naresh Kamboju, Geert Uytterhoeven,
	Jean-Philippe Brucker, kernel-team, linux-kernel, linux-pm,
	iommu, netdev

This reverts commit 9cbffc7a59561be950ecc675d19a3d2b45202b2b.

There are a few more issues to fix that have been reported in the thread
for the original series [1]. We'll need to fix those before this will work.
So, revert it for now.

[1] - https://lore.kernel.org/lkml/20220601070707.3946847-1-saravanak@google.com/

Fixes: 9cbffc7a5956 ("driver core: Delete driver_deferred_probe_check_state()")
Reviewed-by: Tony Lindgren <tony@atomide.com>
Tested-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Saravana Kannan <saravanak@google.com>
---
 drivers/base/dd.c             | 30 ++++++++++++++++++++++++++++++
 include/linux/device/driver.h |  1 +
 2 files changed, 31 insertions(+)

diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index 70f79fc71539..a8916d1bfdcb 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -274,12 +274,42 @@ static int __init deferred_probe_timeout_setup(char *str)
 }
 __setup("deferred_probe_timeout=", deferred_probe_timeout_setup);
 
+/**
+ * driver_deferred_probe_check_state() - Check deferred probe state
+ * @dev: device to check
+ *
+ * Return:
+ * * -ENODEV if initcalls have completed and modules are disabled.
+ * * -ETIMEDOUT if the deferred probe timeout was set and has expired
+ *   and modules are enabled.
+ * * -EPROBE_DEFER in other cases.
+ *
+ * Drivers or subsystems can opt-in to calling this function instead of directly
+ * returning -EPROBE_DEFER.
+ */
+int driver_deferred_probe_check_state(struct device *dev)
+{
+	if (!IS_ENABLED(CONFIG_MODULES) && initcalls_done) {
+		dev_warn(dev, "ignoring dependency for device, assuming no driver\n");
+		return -ENODEV;
+	}
+
+	if (!driver_deferred_probe_timeout && initcalls_done) {
+		dev_warn(dev, "deferred probe timeout, ignoring dependency\n");
+		return -ETIMEDOUT;
+	}
+
+	return -EPROBE_DEFER;
+}
+EXPORT_SYMBOL_GPL(driver_deferred_probe_check_state);
+
 static void deferred_probe_timeout_work_func(struct work_struct *work)
 {
 	struct device_private *p;
 
 	fw_devlink_drivers_done();
 
+	driver_deferred_probe_timeout = 0;
 	driver_deferred_probe_trigger();
 	flush_work(&deferred_probe_work);
 
diff --git a/include/linux/device/driver.h b/include/linux/device/driver.h
index 7acaabde5396..2114d65b862f 100644
--- a/include/linux/device/driver.h
+++ b/include/linux/device/driver.h
@@ -242,6 +242,7 @@ driver_find_device_by_acpi_dev(struct device_driver *drv, const void *adev)
 
 extern int driver_deferred_probe_timeout;
 void driver_deferred_probe_add(struct device *dev);
+int driver_deferred_probe_check_state(struct device *dev);
 void driver_init(void);
 
 /**
-- 
2.37.1.595.g718a3a8f04-goog


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v2 2/4] Revert "net: mdio: Delete usage of driver_deferred_probe_check_state()"
  2022-08-19 22:16 [PATCH v2 0/4] Bring back driver_deferred_probe_check_state() for now Saravana Kannan
  2022-08-19 22:16 ` [PATCH v2 1/4] Revert "driver core: Delete driver_deferred_probe_check_state()" Saravana Kannan
@ 2022-08-19 22:16 ` Saravana Kannan
  2022-08-19 22:16 ` [PATCH v2 3/4] Revert "PM: domains: " Saravana Kannan
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 14+ messages in thread
From: Saravana Kannan @ 2022-08-19 22:16 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Rafael J. Wysocki, Kevin Hilman, Ulf Hansson,
	Pavel Machek, Len Brown, Joerg Roedel, Will Deacon, Robin Murphy,
	Andrew Lunn, Heiner Kallweit, Russell King, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Saravana Kannan
  Cc: Peng Fan, Luca Weiss, Doug Anderson, Colin Foster, Tony Lindgren,
	Alexander Stein, Naresh Kamboju, Geert Uytterhoeven,
	Jean-Philippe Brucker, kernel-team, linux-kernel, linux-pm,
	iommu, netdev

This reverts commit f8217275b57aa48d98cc42051c2aac34152718d6.

There are a few more issues to fix that have been reported in the thread
for the original series [1]. We'll need to fix those before this will work.
So, revert it for now.

[1] - https://lore.kernel.org/lkml/CAMuHMdWo_wRwV-i_iyTxVnEsf3Th9GBAG+wxUQMQGnw1t2ijTg@mail.gmail.com/

Fixes: f8217275b57a ("net: mdio: Delete usage of driver_deferred_probe_check_state()")
Reviewed-by: Tony Lindgren <tony@atomide.com>
Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Saravana Kannan <saravanak@google.com>
---
 drivers/net/mdio/fwnode_mdio.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mdio/fwnode_mdio.c b/drivers/net/mdio/fwnode_mdio.c
index 3e79c2c51929..1c1584fca632 100644
--- a/drivers/net/mdio/fwnode_mdio.c
+++ b/drivers/net/mdio/fwnode_mdio.c
@@ -47,7 +47,9 @@ int fwnode_mdiobus_phy_device_register(struct mii_bus *mdio,
 	 * just fall back to poll mode
 	 */
 	if (rc == -EPROBE_DEFER)
-		rc = -ENODEV;
+		rc = driver_deferred_probe_check_state(&phy->mdio.dev);
+	if (rc == -EPROBE_DEFER)
+		return rc;
 
 	if (rc > 0) {
 		phy->irq = rc;
-- 
2.37.1.595.g718a3a8f04-goog


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v2 3/4] Revert "PM: domains: Delete usage of driver_deferred_probe_check_state()"
  2022-08-19 22:16 [PATCH v2 0/4] Bring back driver_deferred_probe_check_state() for now Saravana Kannan
  2022-08-19 22:16 ` [PATCH v2 1/4] Revert "driver core: Delete driver_deferred_probe_check_state()" Saravana Kannan
  2022-08-19 22:16 ` [PATCH v2 2/4] Revert "net: mdio: Delete usage of driver_deferred_probe_check_state()" Saravana Kannan
@ 2022-08-19 22:16 ` Saravana Kannan
  2022-08-22 11:54   ` Ulf Hansson
                     ` (3 more replies)
  2022-08-19 22:16 ` [PATCH v2 4/4] Revert "iommu/of: " Saravana Kannan
                   ` (2 subsequent siblings)
  5 siblings, 4 replies; 14+ messages in thread
From: Saravana Kannan @ 2022-08-19 22:16 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Rafael J. Wysocki, Kevin Hilman, Ulf Hansson,
	Pavel Machek, Len Brown, Joerg Roedel, Will Deacon, Robin Murphy,
	Andrew Lunn, Heiner Kallweit, Russell King, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Saravana Kannan
  Cc: Peng Fan, Luca Weiss, Doug Anderson, Colin Foster, Tony Lindgren,
	Alexander Stein, Naresh Kamboju, Geert Uytterhoeven,
	Jean-Philippe Brucker, kernel-team, linux-kernel, linux-pm,
	iommu, netdev

This reverts commit 5a46079a96451cfb15e4f5f01f73f7ba24ef851a.

Quite a few issues have been reported [1][2][3][4][5][6] on the original
commit. While about half of them have been fixed, I'll need to fix the rest
before driver_deferred_probe_check_state() can be deleted. So, revert the
deletion for now.

[1] - https://lore.kernel.org/all/DU0PR04MB941735271F45C716342D0410886B9@DU0PR04MB9417.eurprd04.prod.outlook.com/
[2] - https://lore.kernel.org/all/CM6REZS9Z8AC.2KCR9N3EFLNQR@otso/
[3] - https://lore.kernel.org/all/CAD=FV=XYVwaXZxqUKAuM5c7NiVjFz5C6m6gAHSJ7rBXBF94_Tg@mail.gmail.com/
[4] - https://lore.kernel.org/all/Yvpd2pwUJGp7R+YE@euler/
[5] - https://lore.kernel.org/lkml/20220601070707.3946847-2-saravanak@google.com/
[6] - https://lore.kernel.org/all/CA+G9fYt_cc5SiNv1Vbse=HYY_+uc+9OYPZuJ-x59bROSaLN6fw@mail.gmail.com/

Fixes: 5a46079a9645 ("PM: domains: Delete usage of driver_deferred_probe_check_state()")
Reported-by: Peng Fan <peng.fan@nxp.com>
Reported-by: Luca Weiss <luca.weiss@fairphone.com>
Reported-by: Doug Anderson <dianders@chromium.org>
Reported-by: Colin Foster <colin.foster@in-advantage.com>
Reported-by: Tony Lindgren <tony@atomide.com>
Reported-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Reviewed-by: Tony Lindgren <tony@atomide.com>
Tested-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Saravana Kannan <saravanak@google.com>
---
 drivers/base/power/domain.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
index 5a2e0232862e..55a10e6d4e2a 100644
--- a/drivers/base/power/domain.c
+++ b/drivers/base/power/domain.c
@@ -2733,7 +2733,7 @@ static int __genpd_dev_pm_attach(struct device *dev, struct device *base_dev,
 		mutex_unlock(&gpd_list_lock);
 		dev_dbg(dev, "%s() failed to find PM domain: %ld\n",
 			__func__, PTR_ERR(pd));
-		return -ENODEV;
+		return driver_deferred_probe_check_state(base_dev);
 	}
 
 	dev_dbg(dev, "adding to PM domain %s\n", pd->name);
-- 
2.37.1.595.g718a3a8f04-goog


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v2 4/4] Revert "iommu/of: Delete usage of driver_deferred_probe_check_state()"
  2022-08-19 22:16 [PATCH v2 0/4] Bring back driver_deferred_probe_check_state() for now Saravana Kannan
                   ` (2 preceding siblings ...)
  2022-08-19 22:16 ` [PATCH v2 3/4] Revert "PM: domains: " Saravana Kannan
@ 2022-08-19 22:16 ` Saravana Kannan
  2022-08-23  8:11   ` Jean-Philippe Brucker
  2022-08-22  7:08 ` [PATCH v2 0/4] Bring back driver_deferred_probe_check_state() for now Tony Lindgren
  2022-08-23  7:09 ` Alexander Stein
  5 siblings, 1 reply; 14+ messages in thread
From: Saravana Kannan @ 2022-08-19 22:16 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Rafael J. Wysocki, Kevin Hilman, Ulf Hansson,
	Pavel Machek, Len Brown, Joerg Roedel, Will Deacon, Robin Murphy,
	Andrew Lunn, Heiner Kallweit, Russell King, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Saravana Kannan
  Cc: Peng Fan, Luca Weiss, Doug Anderson, Colin Foster, Tony Lindgren,
	Alexander Stein, Naresh Kamboju, Geert Uytterhoeven,
	Jean-Philippe Brucker, kernel-team, linux-kernel, linux-pm,
	iommu, netdev

This reverts commit b09796d528bbf06e3e10a4a8f78038719da7ebc6.

An issue was reported[1] on the original commit. I'll need to address that
before I can delete the use of driver_deferred_probe_check_state().  So,
bring it back for now.

[1] - https://lore.kernel.org/lkml/4799738.LvFx2qVVIh@steina-w/

Fixes: b09796d528bb ("iommu/of: Delete usage of driver_deferred_probe_check_state()")
Reported-by: Jean-Philippe Brucker <jpb@kernel.org>
Signed-off-by: Saravana Kannan <saravanak@google.com>
---
 drivers/iommu/of_iommu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iommu/of_iommu.c b/drivers/iommu/of_iommu.c
index 41f4eb005219..5696314ae69e 100644
--- a/drivers/iommu/of_iommu.c
+++ b/drivers/iommu/of_iommu.c
@@ -40,7 +40,7 @@ static int of_iommu_xlate(struct device *dev,
 	 * a proper probe-ordering dependency mechanism in future.
 	 */
 	if (!ops)
-		return -ENODEV;
+		return driver_deferred_probe_check_state(dev);
 
 	if (!try_module_get(ops->owner))
 		return -ENODEV;
-- 
2.37.1.595.g718a3a8f04-goog


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 0/4] Bring back driver_deferred_probe_check_state() for now
  2022-08-19 22:16 [PATCH v2 0/4] Bring back driver_deferred_probe_check_state() for now Saravana Kannan
                   ` (3 preceding siblings ...)
  2022-08-19 22:16 ` [PATCH v2 4/4] Revert "iommu/of: " Saravana Kannan
@ 2022-08-22  7:08 ` Tony Lindgren
  2022-08-23  7:09 ` Alexander Stein
  5 siblings, 0 replies; 14+ messages in thread
From: Tony Lindgren @ 2022-08-22  7:08 UTC (permalink / raw)
  To: Saravana Kannan
  Cc: Greg Kroah-Hartman, Rafael J. Wysocki, Kevin Hilman, Ulf Hansson,
	Pavel Machek, Len Brown, Joerg Roedel, Will Deacon, Robin Murphy,
	Andrew Lunn, Heiner Kallweit, Russell King, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Peng Fan, Luca Weiss,
	Doug Anderson, Colin Foster, Alexander Stein, Naresh Kamboju,
	Geert Uytterhoeven, Jean-Philippe Brucker, kernel-team,
	linux-kernel, linux-pm, iommu, netdev

* Saravana Kannan <saravanak@google.com> [220819 22:09]:
> A bunch of issues have been reported in the original series[1] that removed
> driver_deferred_probe_check_state(). While most of the issues have been
> fixed in a new series that improved fw_devlink [2], there are still a few
> unresolved issues I need to address.
> 
> So let's bring back driver_deferred_probe_check_state() until the other
> issues are resolved.
> 
> Greg,
> 
> Can we get this into 6.0-rcX please?

Yes please.

I just tested these against v6.0-rc2 and it fixes the deferred probe boot
issues I've been seeing. The patches already have my Tested-by for the
relevant patches, so as far as I'm concerned these are good to go.

Thanks,

Tony

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 3/4] Revert "PM: domains: Delete usage of driver_deferred_probe_check_state()"
  2022-08-19 22:16 ` [PATCH v2 3/4] Revert "PM: domains: " Saravana Kannan
@ 2022-08-22 11:54   ` Ulf Hansson
  2022-08-22 20:31   ` Doug Anderson
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 14+ messages in thread
From: Ulf Hansson @ 2022-08-22 11:54 UTC (permalink / raw)
  To: Saravana Kannan
  Cc: Greg Kroah-Hartman, Rafael J. Wysocki, Kevin Hilman,
	Pavel Machek, Len Brown, Joerg Roedel, Will Deacon, Robin Murphy,
	Andrew Lunn, Heiner Kallweit, Russell King, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Peng Fan, Luca Weiss,
	Doug Anderson, Colin Foster, Tony Lindgren, Alexander Stein,
	Naresh Kamboju, Geert Uytterhoeven, Jean-Philippe Brucker,
	kernel-team, linux-kernel, linux-pm, iommu, netdev

On Sat, 20 Aug 2022 at 00:16, Saravana Kannan <saravanak@google.com> wrote:
>
> This reverts commit 5a46079a96451cfb15e4f5f01f73f7ba24ef851a.
>
> Quite a few issues have been reported [1][2][3][4][5][6] on the original
> commit. While about half of them have been fixed, I'll need to fix the rest
> before driver_deferred_probe_check_state() can be deleted. So, revert the
> deletion for now.
>
> [1] - https://lore.kernel.org/all/DU0PR04MB941735271F45C716342D0410886B9@DU0PR04MB9417.eurprd04.prod.outlook.com/
> [2] - https://lore.kernel.org/all/CM6REZS9Z8AC.2KCR9N3EFLNQR@otso/
> [3] - https://lore.kernel.org/all/CAD=FV=XYVwaXZxqUKAuM5c7NiVjFz5C6m6gAHSJ7rBXBF94_Tg@mail.gmail.com/
> [4] - https://lore.kernel.org/all/Yvpd2pwUJGp7R+YE@euler/
> [5] - https://lore.kernel.org/lkml/20220601070707.3946847-2-saravanak@google.com/
> [6] - https://lore.kernel.org/all/CA+G9fYt_cc5SiNv1Vbse=HYY_+uc+9OYPZuJ-x59bROSaLN6fw@mail.gmail.com/
>
> Fixes: 5a46079a9645 ("PM: domains: Delete usage of driver_deferred_probe_check_state()")
> Reported-by: Peng Fan <peng.fan@nxp.com>
> Reported-by: Luca Weiss <luca.weiss@fairphone.com>
> Reported-by: Doug Anderson <dianders@chromium.org>
> Reported-by: Colin Foster <colin.foster@in-advantage.com>
> Reported-by: Tony Lindgren <tony@atomide.com>
> Reported-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
> Reviewed-by: Tony Lindgren <tony@atomide.com>
> Tested-by: Tony Lindgren <tony@atomide.com>
> Signed-off-by: Saravana Kannan <saravanak@google.com>

Acked-by: Ulf Hansson <ulf.hansson@linaro.org>

Kind regards
Uffe

> ---
>  drivers/base/power/domain.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
> index 5a2e0232862e..55a10e6d4e2a 100644
> --- a/drivers/base/power/domain.c
> +++ b/drivers/base/power/domain.c
> @@ -2733,7 +2733,7 @@ static int __genpd_dev_pm_attach(struct device *dev, struct device *base_dev,
>                 mutex_unlock(&gpd_list_lock);
>                 dev_dbg(dev, "%s() failed to find PM domain: %ld\n",
>                         __func__, PTR_ERR(pd));
> -               return -ENODEV;
> +               return driver_deferred_probe_check_state(base_dev);
>         }
>
>         dev_dbg(dev, "adding to PM domain %s\n", pd->name);
> --
> 2.37.1.595.g718a3a8f04-goog
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 3/4] Revert "PM: domains: Delete usage of driver_deferred_probe_check_state()"
  2022-08-19 22:16 ` [PATCH v2 3/4] Revert "PM: domains: " Saravana Kannan
  2022-08-22 11:54   ` Ulf Hansson
@ 2022-08-22 20:31   ` Doug Anderson
  2022-08-23  9:02   ` Peng Fan
  2022-08-25  6:57   ` Martin Kepplinger
  3 siblings, 0 replies; 14+ messages in thread
From: Doug Anderson @ 2022-08-22 20:31 UTC (permalink / raw)
  To: Saravana Kannan
  Cc: Greg Kroah-Hartman, Rafael J. Wysocki, Kevin Hilman, Ulf Hansson,
	Pavel Machek, Len Brown, Joerg Roedel, Will Deacon, Robin Murphy,
	Andrew Lunn, Heiner Kallweit, Russell King, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Peng Fan, Luca Weiss,
	Colin Foster, Tony Lindgren, Alexander Stein, Naresh Kamboju,
	Geert Uytterhoeven, Jean-Philippe Brucker, kernel-team, LKML,
	Linux PM, iommu, netdev

Hi,

On Fri, Aug 19, 2022 at 3:16 PM Saravana Kannan <saravanak@google.com> wrote:
>
> This reverts commit 5a46079a96451cfb15e4f5f01f73f7ba24ef851a.
>
> Quite a few issues have been reported [1][2][3][4][5][6] on the original
> commit. While about half of them have been fixed, I'll need to fix the rest
> before driver_deferred_probe_check_state() can be deleted. So, revert the
> deletion for now.
>
> [1] - https://lore.kernel.org/all/DU0PR04MB941735271F45C716342D0410886B9@DU0PR04MB9417.eurprd04.prod.outlook.com/
> [2] - https://lore.kernel.org/all/CM6REZS9Z8AC.2KCR9N3EFLNQR@otso/
> [3] - https://lore.kernel.org/all/CAD=FV=XYVwaXZxqUKAuM5c7NiVjFz5C6m6gAHSJ7rBXBF94_Tg@mail.gmail.com/
> [4] - https://lore.kernel.org/all/Yvpd2pwUJGp7R+YE@euler/
> [5] - https://lore.kernel.org/lkml/20220601070707.3946847-2-saravanak@google.com/
> [6] - https://lore.kernel.org/all/CA+G9fYt_cc5SiNv1Vbse=HYY_+uc+9OYPZuJ-x59bROSaLN6fw@mail.gmail.com/
>
> Fixes: 5a46079a9645 ("PM: domains: Delete usage of driver_deferred_probe_check_state()")
> Reported-by: Peng Fan <peng.fan@nxp.com>
> Reported-by: Luca Weiss <luca.weiss@fairphone.com>
> Reported-by: Doug Anderson <dianders@chromium.org>
> Reported-by: Colin Foster <colin.foster@in-advantage.com>
> Reported-by: Tony Lindgren <tony@atomide.com>
> Reported-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
> Reviewed-by: Tony Lindgren <tony@atomide.com>
> Tested-by: Tony Lindgren <tony@atomide.com>
> Signed-off-by: Saravana Kannan <saravanak@google.com>
> ---
>  drivers/base/power/domain.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Tested-by: Douglas Anderson <dianders@chromium.org>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 1/4] Revert "driver core: Delete driver_deferred_probe_check_state()"
  2022-08-19 22:16 ` [PATCH v2 1/4] Revert "driver core: Delete driver_deferred_probe_check_state()" Saravana Kannan
@ 2022-08-22 20:34   ` Doug Anderson
  2022-08-23  9:02   ` Peng Fan
  1 sibling, 0 replies; 14+ messages in thread
From: Doug Anderson @ 2022-08-22 20:34 UTC (permalink / raw)
  To: Saravana Kannan
  Cc: Greg Kroah-Hartman, Rafael J. Wysocki, Kevin Hilman, Ulf Hansson,
	Pavel Machek, Len Brown, Joerg Roedel, Will Deacon, Robin Murphy,
	Andrew Lunn, Heiner Kallweit, Russell King, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Peng Fan, Luca Weiss,
	Colin Foster, Tony Lindgren, Alexander Stein, Naresh Kamboju,
	Geert Uytterhoeven, Jean-Philippe Brucker, kernel-team, LKML,
	Linux PM, iommu, netdev

Hi,

On Fri, Aug 19, 2022 at 3:16 PM Saravana Kannan <saravanak@google.com> wrote:
>
> This reverts commit 9cbffc7a59561be950ecc675d19a3d2b45202b2b.
>
> There are a few more issues to fix that have been reported in the thread
> for the original series [1]. We'll need to fix those before this will work.
> So, revert it for now.
>
> [1] - https://lore.kernel.org/lkml/20220601070707.3946847-1-saravanak@google.com/
>
> Fixes: 9cbffc7a5956 ("driver core: Delete driver_deferred_probe_check_state()")
> Reviewed-by: Tony Lindgren <tony@atomide.com>
> Tested-by: Tony Lindgren <tony@atomide.com>
> Signed-off-by: Saravana Kannan <saravanak@google.com>
> ---
>  drivers/base/dd.c             | 30 ++++++++++++++++++++++++++++++
>  include/linux/device/driver.h |  1 +
>  2 files changed, 31 insertions(+)

Tested-by: Douglas Anderson <dianders@chromium.org>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 0/4] Bring back driver_deferred_probe_check_state() for now
  2022-08-19 22:16 [PATCH v2 0/4] Bring back driver_deferred_probe_check_state() for now Saravana Kannan
                   ` (4 preceding siblings ...)
  2022-08-22  7:08 ` [PATCH v2 0/4] Bring back driver_deferred_probe_check_state() for now Tony Lindgren
@ 2022-08-23  7:09 ` Alexander Stein
  5 siblings, 0 replies; 14+ messages in thread
From: Alexander Stein @ 2022-08-23  7:09 UTC (permalink / raw)
  To: Saravana Kannan
  Cc: Greg Kroah-Hartman, Rafael J. Wysocki, Kevin Hilman, Ulf Hansson,
	Pavel Machek, Len Brown, Joerg Roedel, Will Deacon, Robin Murphy,
	Andrew Lunn, Heiner Kallweit, Russell King, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Saravana Kannan,
	Peng Fan, Luca Weiss, Doug Anderson, Colin Foster, Tony Lindgren,
	Naresh Kamboju, Geert Uytterhoeven, Jean-Philippe Brucker,
	kernel-team, linux-kernel, linux-pm, iommu, netdev

Hello Saravana,

Am Samstag, 20. August 2022, 00:16:10 CEST schrieb Saravana Kannan:
> A bunch of issues have been reported in the original series[1] that removed
> driver_deferred_probe_check_state(). While most of the issues have been
> fixed in a new series that improved fw_devlink [2], there are still a few
> unresolved issues I need to address.
> 
> So let's bring back driver_deferred_probe_check_state() until the other
> issues are resolved.
> 
> Greg,
> 
> Can we get this into 6.0-rcX please?

On my TQMa8MQ + MBa8Mxon top of 072e51356cd5 ("Merge tag 'nfs-for-5.20-2' of 
git://git.linux-nfs.org/projects/trondmy/linux-nfs"):
Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com>

> [1] -
> https://lore.kernel.org/lkml/20220601070707.3946847-1-saravanak@google.com/
> [2] -
> https://lore.kernel.org/lkml/20220810060040.321697-1-saravanak@google.com/
> 
> v1 -> v2:
> - Added a revert of the iommu change too.
> 
> Saravana Kannan (4):
>   Revert "driver core: Delete driver_deferred_probe_check_state()"
>   Revert "net: mdio: Delete usage of
>     driver_deferred_probe_check_state()"
>   Revert "PM: domains: Delete usage of
>     driver_deferred_probe_check_state()"
>   Revert "iommu/of: Delete usage of driver_deferred_probe_check_state()"
> 
>  drivers/base/dd.c              | 30 ++++++++++++++++++++++++++++++
>  drivers/base/power/domain.c    |  2 +-
>  drivers/iommu/of_iommu.c       |  2 +-
>  drivers/net/mdio/fwnode_mdio.c |  4 +++-
>  include/linux/device/driver.h  |  1 +
>  5 files changed, 36 insertions(+), 3 deletions(-)





^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 4/4] Revert "iommu/of: Delete usage of driver_deferred_probe_check_state()"
  2022-08-19 22:16 ` [PATCH v2 4/4] Revert "iommu/of: " Saravana Kannan
@ 2022-08-23  8:11   ` Jean-Philippe Brucker
  0 siblings, 0 replies; 14+ messages in thread
From: Jean-Philippe Brucker @ 2022-08-23  8:11 UTC (permalink / raw)
  To: Saravana Kannan
  Cc: Greg Kroah-Hartman, Rafael J. Wysocki, Kevin Hilman, Ulf Hansson,
	Pavel Machek, Len Brown, Joerg Roedel, Will Deacon, Robin Murphy,
	Andrew Lunn, Heiner Kallweit, Russell King, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Peng Fan, Luca Weiss,
	Doug Anderson, Colin Foster, Tony Lindgren, Alexander Stein,
	Naresh Kamboju, Geert Uytterhoeven, kernel-team, linux-kernel,
	linux-pm, iommu, netdev

On Fri, Aug 19, 2022 at 03:16:14PM -0700, Saravana Kannan wrote:
> This reverts commit b09796d528bbf06e3e10a4a8f78038719da7ebc6.
> 
> An issue was reported[1] on the original commit. I'll need to address that
> before I can delete the use of driver_deferred_probe_check_state().  So,
> bring it back for now.
> 
> [1] - https://lore.kernel.org/lkml/4799738.LvFx2qVVIh@steina-w/

https://lore.kernel.org/lkml/Yv+dpeIPvde7oDHi@myrica/

> 
> Fixes: b09796d528bb ("iommu/of: Delete usage of driver_deferred_probe_check_state()")
> Reported-by: Jean-Philippe Brucker <jpb@kernel.org>
> Signed-off-by: Saravana Kannan <saravanak@google.com>

Tested-by: Jean-Philippe Brucker <jpb@kernel.org>

> ---
>  drivers/iommu/of_iommu.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/iommu/of_iommu.c b/drivers/iommu/of_iommu.c
> index 41f4eb005219..5696314ae69e 100644
> --- a/drivers/iommu/of_iommu.c
> +++ b/drivers/iommu/of_iommu.c
> @@ -40,7 +40,7 @@ static int of_iommu_xlate(struct device *dev,
>  	 * a proper probe-ordering dependency mechanism in future.
>  	 */
>  	if (!ops)
> -		return -ENODEV;
> +		return driver_deferred_probe_check_state(dev);
>  
>  	if (!try_module_get(ops->owner))
>  		return -ENODEV;
> -- 
> 2.37.1.595.g718a3a8f04-goog
> 

^ permalink raw reply	[flat|nested] 14+ messages in thread

* RE: [PATCH v2 1/4] Revert "driver core: Delete driver_deferred_probe_check_state()"
  2022-08-19 22:16 ` [PATCH v2 1/4] Revert "driver core: Delete driver_deferred_probe_check_state()" Saravana Kannan
  2022-08-22 20:34   ` Doug Anderson
@ 2022-08-23  9:02   ` Peng Fan
  1 sibling, 0 replies; 14+ messages in thread
From: Peng Fan @ 2022-08-23  9:02 UTC (permalink / raw)
  To: Saravana Kannan, Greg Kroah-Hartman, Rafael J. Wysocki,
	Kevin Hilman, Ulf Hansson, Pavel Machek, Len Brown, Joerg Roedel,
	Will Deacon, Robin Murphy, Andrew Lunn, Heiner Kallweit,
	Russell King, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni
  Cc: Luca Weiss, Doug Anderson, Colin Foster, Tony Lindgren,
	Alexander Stein, Naresh Kamboju, Geert Uytterhoeven,
	Jean-Philippe Brucker, kernel-team, linux-kernel, linux-pm,
	iommu, netdev

> Subject: [PATCH v2 1/4] Revert "driver core: Delete
> driver_deferred_probe_check_state()"
> 
> This reverts commit 9cbffc7a59561be950ecc675d19a3d2b45202b2b.
> 
> There are a few more issues to fix that have been reported in the thread for
> the original series [1]. We'll need to fix those before this will work.
> So, revert it for now.
> 
> [1] -
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.
> kernel.org%2Flkml%2F20220601070707.3946847-1-
> saravanak%40google.com%2F&amp;data=05%7C01%7Cpeng.fan%40nxp.co
> m%7Ce9205a2ec9c049d2a68408da82307410%7C686ea1d3bc2b4c6fa92cd99
> c5c301635%7C0%7C0%7C637965441862478527%7CUnknown%7CTWFpbGZs
> b3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6M
> n0%3D%7C3000%7C%7C%7C&amp;sdata=tGjnNEQ6BwaNrxug9ceThYOlj0a3
> Gmds8qpwNcHf%2FH8%3D&amp;reserved=0
> 
> Fixes: 9cbffc7a5956 ("driver core: Delete
> driver_deferred_probe_check_state()")
> Reviewed-by: Tony Lindgren <tony@atomide.com>
> Tested-by: Tony Lindgren <tony@atomide.com>
> Signed-off-by: Saravana Kannan <saravanak@google.com>

Tested-by: Peng Fan <peng.fan@nxp.com>
> ---
>  drivers/base/dd.c             | 30 ++++++++++++++++++++++++++++++
>  include/linux/device/driver.h |  1 +
>  2 files changed, 31 insertions(+)
> 
> diff --git a/drivers/base/dd.c b/drivers/base/dd.c index
> 70f79fc71539..a8916d1bfdcb 100644
> --- a/drivers/base/dd.c
> +++ b/drivers/base/dd.c
> @@ -274,12 +274,42 @@ static int __init
> deferred_probe_timeout_setup(char *str)  }
> __setup("deferred_probe_timeout=", deferred_probe_timeout_setup);
> 
> +/**
> + * driver_deferred_probe_check_state() - Check deferred probe state
> + * @dev: device to check
> + *
> + * Return:
> + * * -ENODEV if initcalls have completed and modules are disabled.
> + * * -ETIMEDOUT if the deferred probe timeout was set and has expired
> + *   and modules are enabled.
> + * * -EPROBE_DEFER in other cases.
> + *
> + * Drivers or subsystems can opt-in to calling this function instead of
> +directly
> + * returning -EPROBE_DEFER.
> + */
> +int driver_deferred_probe_check_state(struct device *dev) {
> +	if (!IS_ENABLED(CONFIG_MODULES) && initcalls_done) {
> +		dev_warn(dev, "ignoring dependency for device, assuming
> no driver\n");
> +		return -ENODEV;
> +	}
> +
> +	if (!driver_deferred_probe_timeout && initcalls_done) {
> +		dev_warn(dev, "deferred probe timeout, ignoring
> dependency\n");
> +		return -ETIMEDOUT;
> +	}
> +
> +	return -EPROBE_DEFER;
> +}
> +EXPORT_SYMBOL_GPL(driver_deferred_probe_check_state);
> +
>  static void deferred_probe_timeout_work_func(struct work_struct *work)
> {
>  	struct device_private *p;
> 
>  	fw_devlink_drivers_done();
> 
> +	driver_deferred_probe_timeout = 0;
>  	driver_deferred_probe_trigger();
>  	flush_work(&deferred_probe_work);
> 
> diff --git a/include/linux/device/driver.h b/include/linux/device/driver.h
> index 7acaabde5396..2114d65b862f 100644
> --- a/include/linux/device/driver.h
> +++ b/include/linux/device/driver.h
> @@ -242,6 +242,7 @@ driver_find_device_by_acpi_dev(struct
> device_driver *drv, const void *adev)
> 
>  extern int driver_deferred_probe_timeout;  void
> driver_deferred_probe_add(struct device *dev);
> +int driver_deferred_probe_check_state(struct device *dev);
>  void driver_init(void);
> 
>  /**
> --
> 2.37.1.595.g718a3a8f04-goog


^ permalink raw reply	[flat|nested] 14+ messages in thread

* RE: [PATCH v2 3/4] Revert "PM: domains: Delete usage of driver_deferred_probe_check_state()"
  2022-08-19 22:16 ` [PATCH v2 3/4] Revert "PM: domains: " Saravana Kannan
  2022-08-22 11:54   ` Ulf Hansson
  2022-08-22 20:31   ` Doug Anderson
@ 2022-08-23  9:02   ` Peng Fan
  2022-08-25  6:57   ` Martin Kepplinger
  3 siblings, 0 replies; 14+ messages in thread
From: Peng Fan @ 2022-08-23  9:02 UTC (permalink / raw)
  To: Saravana Kannan, Greg Kroah-Hartman, Rafael J. Wysocki,
	Kevin Hilman, Ulf Hansson, Pavel Machek, Len Brown, Joerg Roedel,
	Will Deacon, Robin Murphy, Andrew Lunn, Heiner Kallweit,
	Russell King, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni
  Cc: Luca Weiss, Doug Anderson, Colin Foster, Tony Lindgren,
	Alexander Stein, Naresh Kamboju, Geert Uytterhoeven,
	Jean-Philippe Brucker, kernel-team, linux-kernel, linux-pm,
	iommu, netdev

> Subject: [PATCH v2 3/4] Revert "PM: domains: Delete usage of
> driver_deferred_probe_check_state()"
> 
> This reverts commit 5a46079a96451cfb15e4f5f01f73f7ba24ef851a.
> 
> Quite a few issues have been reported [1][2][3][4][5][6] on the original
> commit. While about half of them have been fixed, I'll need to fix the rest
> before driver_deferred_probe_check_state() can be deleted. So, revert the
> deletion for now.
> 
> [1] -
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.
> kernel.org%2Fall%2FDU0PR04MB941735271F45C716342D0410886B9%40DU
> 0PR04MB9417.eurprd04.prod.outlook.com%2F&amp;data=05%7C01%7Cpe
> ng.fan%40nxp.com%7Ce5c97577ea9c4d34e28008da8230773f%7C686ea1d3
> bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637965441917494552%7CUnkno
> wn%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1
> haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=py122mCaQjLc7
> xFhApk61Zh9Hthol6tmprh5KDsOXqU%3D&amp;reserved=0
> [2] -
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.
> kernel.org%2Fall%2FCM6REZS9Z8AC.2KCR9N3EFLNQR%40otso%2F&amp;dat
> a=05%7C01%7Cpeng.fan%40nxp.com%7Ce5c97577ea9c4d34e28008da8230
> 773f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637965441917
> 494552%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV
> 2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdat
> a=DYZ3eCmUPryFcqhgtexUZT1gYuL1utBgHrw%2BIH6apdk%3D&amp;reserv
> ed=0
> [3] -
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.
> kernel.org%2Fall%2FCAD%3DFV%3DXYVwaXZxqUKAuM5c7NiVjFz5C6m6gAH
> SJ7rBXBF94_Tg%40mail.gmail.com%2F&amp;data=05%7C01%7Cpeng.fan%4
> 0nxp.com%7Ce5c97577ea9c4d34e28008da8230773f%7C686ea1d3bc2b4c6fa
> 92cd99c5c301635%7C0%7C0%7C637965441917494552%7CUnknown%7CTW
> FpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJX
> VCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=MesNMmK2dr%2BkEZQ9fE
> BzFWgZhx9PWRQSk3U7zqcRaZo%3D&amp;reserved=0
> [4] -
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.
> kernel.org%2Fall%2FYvpd2pwUJGp7R%2BYE%40euler%2F&amp;data=05%7
> C01%7Cpeng.fan%40nxp.com%7Ce5c97577ea9c4d34e28008da8230773f%7C
> 686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637965441917494552%
> 7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLC
> JBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=31VDc
> KodaAH9dOYDnN%2BcJ1LhhAbyEQc8fYX743f8MY8%3D&amp;reserved=0
> [5] -
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.
> kernel.org%2Flkml%2F20220601070707.3946847-2-
> saravanak%40google.com%2F&amp;data=05%7C01%7Cpeng.fan%40nxp.co
> m%7Ce5c97577ea9c4d34e28008da8230773f%7C686ea1d3bc2b4c6fa92cd99
> c5c301635%7C0%7C0%7C637965441917494552%7CUnknown%7CTWFpbGZs
> b3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6M
> n0%3D%7C3000%7C%7C%7C&amp;sdata=eE20zTJ7rKVTY1b0%2F4Pgp8sOx7
> zVTLnSIFsG%2FepL9Lo%3D&amp;reserved=0
> [6] -
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.
> kernel.org%2Fall%2FCA%2BG9fYt_cc5SiNv1Vbse%3DHYY_%2Buc%2B9OYPZu
> J-
> x59bROSaLN6fw%40mail.gmail.com%2F&amp;data=05%7C01%7Cpeng.fan%
> 40nxp.com%7Ce5c97577ea9c4d34e28008da8230773f%7C686ea1d3bc2b4c6f
> a92cd99c5c301635%7C0%7C0%7C637965441917494552%7CUnknown%7CT
> WFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiL
> CJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=nYfyk%2FlEwmYsH%2F
> U028t8tnFjpnTZ7G8ffHgyLBZ4Czo%3D&amp;reserved=0
> 
> Fixes: 5a46079a9645 ("PM: domains: Delete usage of
> driver_deferred_probe_check_state()")
> Reported-by: Peng Fan <peng.fan@nxp.com>
> Reported-by: Luca Weiss <luca.weiss@fairphone.com>
> Reported-by: Doug Anderson <dianders@chromium.org>
> Reported-by: Colin Foster <colin.foster@in-advantage.com>
> Reported-by: Tony Lindgren <tony@atomide.com>
> Reported-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
> Reviewed-by: Tony Lindgren <tony@atomide.com>
> Tested-by: Tony Lindgren <tony@atomide.com>
> Signed-off-by: Saravana Kannan <saravanak@google.com>

Tested-by: Peng Fan <peng.fan@nxp.com>
> ---
>  drivers/base/power/domain.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
> index 5a2e0232862e..55a10e6d4e2a 100644
> --- a/drivers/base/power/domain.c
> +++ b/drivers/base/power/domain.c
> @@ -2733,7 +2733,7 @@ static int __genpd_dev_pm_attach(struct device
> *dev, struct device *base_dev,
>  		mutex_unlock(&gpd_list_lock);
>  		dev_dbg(dev, "%s() failed to find PM domain: %ld\n",
>  			__func__, PTR_ERR(pd));
> -		return -ENODEV;
> +		return driver_deferred_probe_check_state(base_dev);
>  	}
> 
>  	dev_dbg(dev, "adding to PM domain %s\n", pd->name);
> --
> 2.37.1.595.g718a3a8f04-goog


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 3/4] Revert "PM: domains: Delete usage of driver_deferred_probe_check_state()"
  2022-08-19 22:16 ` [PATCH v2 3/4] Revert "PM: domains: " Saravana Kannan
                     ` (2 preceding siblings ...)
  2022-08-23  9:02   ` Peng Fan
@ 2022-08-25  6:57   ` Martin Kepplinger
  3 siblings, 0 replies; 14+ messages in thread
From: Martin Kepplinger @ 2022-08-25  6:57 UTC (permalink / raw)
  To: Saravana Kannan, Greg Kroah-Hartman, Rafael J. Wysocki,
	Kevin Hilman, Ulf Hansson, Pavel Machek, Len Brown, Joerg Roedel,
	Will Deacon, Robin Murphy, Andrew Lunn, Heiner Kallweit,
	Russell King, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni
  Cc: Peng Fan, Luca Weiss, Doug Anderson, Colin Foster, Tony Lindgren,
	Alexander Stein, Naresh Kamboju, Geert Uytterhoeven,
	Jean-Philippe Brucker, kernel-team, linux-kernel, linux-pm,
	iommu, netdev

Am Freitag, dem 19.08.2022 um 15:16 -0700 schrieb Saravana Kannan:
> This reverts commit 5a46079a96451cfb15e4f5f01f73f7ba24ef851a.
> 
> Quite a few issues have been reported [1][2][3][4][5][6] on the
> original
> commit. While about half of them have been fixed, I'll need to fix
> the rest
> before driver_deferred_probe_check_state() can be deleted. So, revert
> the
> deletion for now.
> 
> [1] -
> https://lore.kernel.org/all/DU0PR04MB941735271F45C716342D0410886B9@DU0PR04MB9417.eurprd04.prod.outlook.com/
> [2] - https://lore.kernel.org/all/CM6REZS9Z8AC.2KCR9N3EFLNQR@otso/
> [3] -
> https://lore.kernel.org/all/CAD=FV=XYVwaXZxqUKAuM5c7NiVjFz5C6m6gAHSJ7rBXBF94_Tg@mail.gmail.com/
> [4] - https://lore.kernel.org/all/Yvpd2pwUJGp7R+YE@euler/
> [5] -
> https://lore.kernel.org/lkml/20220601070707.3946847-2-saravanak@google.com/
> [6] -
> https://lore.kernel.org/all/CA+G9fYt_cc5SiNv1Vbse=HYY_+uc+9OYPZuJ-x59bROSaLN6fw@mail.gmail.com/
> 
> Fixes: 5a46079a9645 ("PM: domains: Delete usage of
> driver_deferred_probe_check_state()")
> Reported-by: Peng Fan <peng.fan@nxp.com>
> Reported-by: Luca Weiss <luca.weiss@fairphone.com>
> Reported-by: Doug Anderson <dianders@chromium.org>
> Reported-by: Colin Foster <colin.foster@in-advantage.com>
> Reported-by: Tony Lindgren <tony@atomide.com>
> Reported-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
> Reviewed-by: Tony Lindgren <tony@atomide.com>
> Tested-by: Tony Lindgren <tony@atomide.com>
> Signed-off-by: Saravana Kannan <saravanak@google.com>
> ---
>  drivers/base/power/domain.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/base/power/domain.c
> b/drivers/base/power/domain.c
> index 5a2e0232862e..55a10e6d4e2a 100644
> --- a/drivers/base/power/domain.c
> +++ b/drivers/base/power/domain.c
> @@ -2733,7 +2733,7 @@ static int __genpd_dev_pm_attach(struct device
> *dev, struct device *base_dev,
>                 mutex_unlock(&gpd_list_lock);
>                 dev_dbg(dev, "%s() failed to find PM domain: %ld\n",
>                         __func__, PTR_ERR(pd));
> -               return -ENODEV;
> +               return driver_deferred_probe_check_state(base_dev);
>         }
>  
>         dev_dbg(dev, "adding to PM domain %s\n", pd->name);

Fixes imx8mq where ENODEV results in:
[    1.048019] imx8m-blk-ctrl 38320000.blk-ctrl: error -ENODEV: failed
to attach power domain "bus"


Tested-by: Martin Kepplinger <martin.kepplinger@puri.sm>

thanks for fixing this,

                                martin



^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2022-08-25  6:58 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-19 22:16 [PATCH v2 0/4] Bring back driver_deferred_probe_check_state() for now Saravana Kannan
2022-08-19 22:16 ` [PATCH v2 1/4] Revert "driver core: Delete driver_deferred_probe_check_state()" Saravana Kannan
2022-08-22 20:34   ` Doug Anderson
2022-08-23  9:02   ` Peng Fan
2022-08-19 22:16 ` [PATCH v2 2/4] Revert "net: mdio: Delete usage of driver_deferred_probe_check_state()" Saravana Kannan
2022-08-19 22:16 ` [PATCH v2 3/4] Revert "PM: domains: " Saravana Kannan
2022-08-22 11:54   ` Ulf Hansson
2022-08-22 20:31   ` Doug Anderson
2022-08-23  9:02   ` Peng Fan
2022-08-25  6:57   ` Martin Kepplinger
2022-08-19 22:16 ` [PATCH v2 4/4] Revert "iommu/of: " Saravana Kannan
2022-08-23  8:11   ` Jean-Philippe Brucker
2022-08-22  7:08 ` [PATCH v2 0/4] Bring back driver_deferred_probe_check_state() for now Tony Lindgren
2022-08-23  7:09 ` Alexander Stein

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).