]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Drop driver-core-platform-use-bus_type-functions.patch
authorSasha Levin <sashal@kernel.org>
Mon, 7 Oct 2024 20:39:48 +0000 (16:39 -0400)
committerSasha Levin <sashal@kernel.org>
Mon, 7 Oct 2024 20:39:48 +0000 (16:39 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-5.10/driver-core-platform-use-bus_type-functions.patch [deleted file]
queue-5.10/series

diff --git a/queue-5.10/driver-core-platform-use-bus_type-functions.patch b/queue-5.10/driver-core-platform-use-bus_type-functions.patch
deleted file mode 100644 (file)
index 2eff75b..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-From 4d14b95e49a265d15a81cd0d0b7f56e0bd028634 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 19 Nov 2020 13:46:11 +0100
-Subject: driver core: platform: use bus_type functions
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
-
-[ Upstream commit 9c30921fe7994907e0b3e0637b2c8c0fc4b5171f ]
-
-This works towards the goal mentioned in 2006 in commit 594c8281f905
-("[PATCH] Add bus_type probe, remove, shutdown methods.").
-
-The functions are moved to where the other bus_type functions are
-defined and renamed to match the already established naming scheme.
-
-Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
-Link: https://lore.kernel.org/r/20201119124611.2573057-3-u.kleine-koenig@pengutronix.de
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Stable-dep-of: cfd67903977b ("PCI: xilinx-nwl: Clean up clock on probe failure/removal")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/base/platform.c | 132 ++++++++++++++++++++--------------------
- 1 file changed, 65 insertions(+), 67 deletions(-)
-
-diff --git a/drivers/base/platform.c b/drivers/base/platform.c
-index 16426eb934632..90166535a5c05 100644
---- a/drivers/base/platform.c
-+++ b/drivers/base/platform.c
-@@ -743,70 +743,6 @@ struct platform_device *platform_device_register_full(
- }
- EXPORT_SYMBOL_GPL(platform_device_register_full);
--static int platform_probe_fail(struct platform_device *pdev);
--
--static int platform_drv_probe(struct device *_dev)
--{
--      struct platform_driver *drv = to_platform_driver(_dev->driver);
--      struct platform_device *dev = to_platform_device(_dev);
--      int ret;
--
--      /*
--       * A driver registered using platform_driver_probe() cannot be bound
--       * again later because the probe function usually lives in __init code
--       * and so is gone. For these drivers .probe is set to
--       * platform_probe_fail in __platform_driver_probe(). Don't even
--       * prepare clocks and PM domains for these to match the traditional
--       * behaviour.
--       */
--      if (unlikely(drv->probe == platform_probe_fail))
--              return -ENXIO;
--
--      ret = of_clk_set_defaults(_dev->of_node, false);
--      if (ret < 0)
--              return ret;
--
--      ret = dev_pm_domain_attach(_dev, true);
--      if (ret)
--              goto out;
--
--      if (drv->probe) {
--              ret = drv->probe(dev);
--              if (ret)
--                      dev_pm_domain_detach(_dev, true);
--      }
--
--out:
--      if (drv->prevent_deferred_probe && ret == -EPROBE_DEFER) {
--              dev_warn(_dev, "probe deferral not supported\n");
--              ret = -ENXIO;
--      }
--
--      return ret;
--}
--
--static int platform_drv_remove(struct device *_dev)
--{
--      struct platform_driver *drv = to_platform_driver(_dev->driver);
--      struct platform_device *dev = to_platform_device(_dev);
--      int ret = 0;
--
--      if (drv->remove)
--              ret = drv->remove(dev);
--      dev_pm_domain_detach(_dev, true);
--
--      return ret;
--}
--
--static void platform_drv_shutdown(struct device *_dev)
--{
--      struct platform_driver *drv = to_platform_driver(_dev->driver);
--      struct platform_device *dev = to_platform_device(_dev);
--
--      if (drv->shutdown)
--              drv->shutdown(dev);
--}
--
- /**
-  * __platform_driver_register - register a driver for platform-level devices
-  * @drv: platform driver structure
-@@ -817,9 +753,6 @@ int __platform_driver_register(struct platform_driver *drv,
- {
-       drv->driver.owner = owner;
-       drv->driver.bus = &platform_bus_type;
--      drv->driver.probe = platform_drv_probe;
--      drv->driver.remove = platform_drv_remove;
--      drv->driver.shutdown = platform_drv_shutdown;
-       return driver_register(&drv->driver);
- }
-@@ -1329,6 +1262,68 @@ static int platform_uevent(struct device *dev, struct kobj_uevent_env *env)
-       return 0;
- }
-+static int platform_probe(struct device *_dev)
-+{
-+      struct platform_driver *drv = to_platform_driver(_dev->driver);
-+      struct platform_device *dev = to_platform_device(_dev);
-+      int ret;
-+
-+      /*
-+       * A driver registered using platform_driver_probe() cannot be bound
-+       * again later because the probe function usually lives in __init code
-+       * and so is gone. For these drivers .probe is set to
-+       * platform_probe_fail in __platform_driver_probe(). Don't even prepare
-+       * clocks and PM domains for these to match the traditional behaviour.
-+       */
-+      if (unlikely(drv->probe == platform_probe_fail))
-+              return -ENXIO;
-+
-+      ret = of_clk_set_defaults(_dev->of_node, false);
-+      if (ret < 0)
-+              return ret;
-+
-+      ret = dev_pm_domain_attach(_dev, true);
-+      if (ret)
-+              goto out;
-+
-+      if (drv->probe) {
-+              ret = drv->probe(dev);
-+              if (ret)
-+                      dev_pm_domain_detach(_dev, true);
-+      }
-+
-+out:
-+      if (drv->prevent_deferred_probe && ret == -EPROBE_DEFER) {
-+              dev_warn(_dev, "probe deferral not supported\n");
-+              ret = -ENXIO;
-+      }
-+
-+      return ret;
-+}
-+
-+static int platform_remove(struct device *_dev)
-+{
-+      struct platform_driver *drv = to_platform_driver(_dev->driver);
-+      struct platform_device *dev = to_platform_device(_dev);
-+      int ret = 0;
-+
-+      if (drv->remove)
-+              ret = drv->remove(dev);
-+      dev_pm_domain_detach(_dev, true);
-+
-+      return ret;
-+}
-+
-+static void platform_shutdown(struct device *_dev)
-+{
-+      struct platform_driver *drv = to_platform_driver(_dev->driver);
-+      struct platform_device *dev = to_platform_device(_dev);
-+
-+      if (drv->shutdown)
-+              drv->shutdown(dev);
-+}
-+
-+
- int platform_dma_configure(struct device *dev)
- {
-       enum dev_dma_attr attr;
-@@ -1355,6 +1350,9 @@ struct bus_type platform_bus_type = {
-       .dev_groups     = platform_dev_groups,
-       .match          = platform_match,
-       .uevent         = platform_uevent,
-+      .probe          = platform_probe,
-+      .remove         = platform_remove,
-+      .shutdown       = platform_shutdown,
-       .dma_configure  = platform_dma_configure,
-       .pm             = &platform_dev_pm_ops,
- };
--- 
-2.43.0
-
index 6cf961eea6d1350bed6fba0a8eaeb84f3310ce43..947d5e030a90bacb9098745c6a510174addba1cd 100644 (file)
@@ -164,7 +164,6 @@ drivers-media-dvb-frontends-rtl2832-fix-an-out-of-bo.patch
 drivers-media-dvb-frontends-rtl2830-fix-an-out-of-bo.patch
 pci-keystone-fix-if-statement-expression-in-ks_pcie_.patch
 pci-xilinx-nwl-fix-register-misspelling.patch
-driver-core-platform-use-bus_type-functions.patch
 platform-provide-a-remove-callback-that-returns-no-v.patch
 pci-xilinx-nwl-clean-up-clock-on-probe-failure-remov.patch
 rdma-iwcm-fix-warning-at_kernel-workqueue.c-check_fl.patch