]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop some broken mmc 5.10 patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 23 Apr 2025 13:54:16 +0000 (15:54 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 23 Apr 2025 13:54:16 +0000 (15:54 +0200)
queue-5.10/mmc-sdhci-brcmstb-add-ability-to-increase-max-clock-rate-for-72116b0.patch [deleted file]
queue-5.10/mmc-sdhci-brcmstb-initialize-base_clk-to-null-in-sdhci_brcmstb_probe.patch [deleted file]
queue-5.10/mmc-sdhci-brcmstb-use-clk_get_rate-base_clk-in-pm-resume.patch [deleted file]
queue-5.10/series

diff --git a/queue-5.10/mmc-sdhci-brcmstb-add-ability-to-increase-max-clock-rate-for-72116b0.patch b/queue-5.10/mmc-sdhci-brcmstb-add-ability-to-increase-max-clock-rate-for-72116b0.patch
deleted file mode 100644 (file)
index 6a01f81..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-From 97904a59855c7ac7c613085bc6bdc550d48524ff Mon Sep 17 00:00:00 2001
-From: Kamal Dasu <kdasu.kdev@gmail.com>
-Date: Fri, 20 May 2022 14:31:08 -0400
-Subject: mmc: sdhci-brcmstb: Add ability to increase max clock rate for 72116b0
-
-From: Kamal Dasu <kdasu.kdev@gmail.com>
-
-commit 97904a59855c7ac7c613085bc6bdc550d48524ff upstream.
-
-The 72116B0 has improved SDIO controllers that allow the max clock
-rate to be increased from a max of 100MHz to a max of 150MHz. The
-driver will need to get the clock and increase it's default rate
-and override the caps register, that still indicates a max of 100MHz.
-The new clock will be named "sdio_freq" in the DT node's "clock-names"
-list. The driver will use a DT property, "clock-frequency", to
-enable this functionality and will get the actual rate in MHz
-from the property to allow various speeds to be requested.
-
-Signed-off-by: Al Cooper <alcooperx@gmail.com>
-Signed-off-by: Kamal Dasu <kdasu.kdev@gmail.com>
-Acked-by: Florian Fainelli <f.fainelli@gmail.com>
-Link: https://lore.kernel.org/r/20220520183108.47358-3-kdasu.kdev@gmail.com
-Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-Signed-off-by: Kamal Dasu <kamal.dasu@broadcom.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/mmc/host/sdhci-brcmstb.c |   69 ++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 68 insertions(+), 1 deletion(-)
-
---- a/drivers/mmc/host/sdhci-brcmstb.c
-+++ b/drivers/mmc/host/sdhci-brcmstb.c
-@@ -32,6 +32,8 @@
- struct sdhci_brcmstb_priv {
-       void __iomem *cfg_regs;
-       unsigned int flags;
-+      struct clk *base_clk;
-+      u32 base_freq_hz;
- };
- struct brcmstb_match_priv {
-@@ -251,9 +253,11 @@ static int sdhci_brcmstb_probe(struct pl
-       struct sdhci_pltfm_host *pltfm_host;
-       const struct of_device_id *match;
-       struct sdhci_brcmstb_priv *priv;
-+      u32 actual_clock_mhz;
-       struct sdhci_host *host;
-       struct resource *iomem;
-       struct clk *clk;
-+      struct clk *base_clk;
-       int res;
-       match = of_match_node(sdhci_brcm_of_match, pdev->dev.of_node);
-@@ -331,6 +335,35 @@ static int sdhci_brcmstb_probe(struct pl
-       if (match_priv->flags & BRCMSTB_MATCH_FLAGS_BROKEN_TIMEOUT)
-               host->quirks |= SDHCI_QUIRK_BROKEN_TIMEOUT_VAL;
-+      /* Change the base clock frequency if the DT property exists */
-+      if (device_property_read_u32(&pdev->dev, "clock-frequency",
-+                                   &priv->base_freq_hz) != 0)
-+              goto add_host;
-+
-+      base_clk = devm_clk_get_optional(&pdev->dev, "sdio_freq");
-+      if (IS_ERR(base_clk)) {
-+              dev_warn(&pdev->dev, "Clock for \"sdio_freq\" not found\n");
-+              goto add_host;
-+      }
-+
-+      res = clk_prepare_enable(base_clk);
-+      if (res)
-+              goto err;
-+
-+      /* set improved clock rate */
-+      clk_set_rate(base_clk, priv->base_freq_hz);
-+      actual_clock_mhz = clk_get_rate(base_clk) / 1000000;
-+
-+      host->caps &= ~SDHCI_CLOCK_V3_BASE_MASK;
-+      host->caps |= (actual_clock_mhz << SDHCI_CLOCK_BASE_SHIFT);
-+      /* Disable presets because they are now incorrect */
-+      host->quirks2 |= SDHCI_QUIRK2_PRESET_VALUE_BROKEN;
-+
-+      dev_dbg(&pdev->dev, "Base Clock Frequency changed to %dMHz\n",
-+              actual_clock_mhz);
-+      priv->base_clk = base_clk;
-+
-+add_host:
-       res = sdhci_brcmstb_add_host(host, priv);
-       if (res)
-               goto err;
-@@ -341,6 +374,7 @@ static int sdhci_brcmstb_probe(struct pl
- err:
-       sdhci_pltfm_free(pdev);
- err_clk:
-+      clk_disable_unprepare(base_clk);
-       clk_disable_unprepare(clk);
-       return res;
- }
-@@ -352,11 +386,44 @@ static void sdhci_brcmstb_shutdown(struc
- MODULE_DEVICE_TABLE(of, sdhci_brcm_of_match);
-+#ifdef CONFIG_PM_SLEEP
-+static int sdhci_brcmstb_suspend(struct device *dev)
-+{
-+      struct sdhci_host *host = dev_get_drvdata(dev);
-+      struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
-+      struct sdhci_brcmstb_priv *priv = sdhci_pltfm_priv(pltfm_host);
-+
-+      clk_disable_unprepare(priv->base_clk);
-+      return sdhci_pltfm_suspend(dev);
-+}
-+
-+static int sdhci_brcmstb_resume(struct device *dev)
-+{
-+      struct sdhci_host *host = dev_get_drvdata(dev);
-+      struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
-+      struct sdhci_brcmstb_priv *priv = sdhci_pltfm_priv(pltfm_host);
-+      int ret;
-+
-+      ret = sdhci_pltfm_resume(dev);
-+      if (!ret && priv->base_freq_hz) {
-+              ret = clk_prepare_enable(priv->base_clk);
-+              if (!ret)
-+                      ret = clk_set_rate(priv->base_clk, priv->base_freq_hz);
-+      }
-+
-+      return ret;
-+}
-+#endif
-+
-+static const struct dev_pm_ops sdhci_brcmstb_pmops = {
-+      SET_SYSTEM_SLEEP_PM_OPS(sdhci_brcmstb_suspend, sdhci_brcmstb_resume)
-+};
-+
- static struct platform_driver sdhci_brcmstb_driver = {
-       .driver         = {
-               .name   = "sdhci-brcmstb",
-               .probe_type = PROBE_PREFER_ASYNCHRONOUS,
--              .pm     = &sdhci_pltfm_pmops,
-+              .pm     = &sdhci_brcmstb_pmops,
-               .of_match_table = of_match_ptr(sdhci_brcm_of_match),
-       },
-       .probe          = sdhci_brcmstb_probe,
diff --git a/queue-5.10/mmc-sdhci-brcmstb-initialize-base_clk-to-null-in-sdhci_brcmstb_probe.patch b/queue-5.10/mmc-sdhci-brcmstb-initialize-base_clk-to-null-in-sdhci_brcmstb_probe.patch
deleted file mode 100644 (file)
index c573330..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-From c3c0ed75ffbff5c70667030b5139bbb75b0a30f5 Mon Sep 17 00:00:00 2001
-From: Nathan Chancellor <nathan@kernel.org>
-Date: Wed, 8 Jun 2022 08:27:57 -0700
-Subject: mmc: sdhci-brcmstb: Initialize base_clk to NULL in sdhci_brcmstb_probe()
-
-From: Nathan Chancellor <nathan@kernel.org>
-
-commit c3c0ed75ffbff5c70667030b5139bbb75b0a30f5 upstream.
-
-Clang warns a few times along the lines of:
-
-  drivers/mmc/host/sdhci-brcmstb.c:302:6: warning: variable 'base_clk' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
-          if (res)
-              ^~~
-  drivers/mmc/host/sdhci-brcmstb.c:376:24: note: uninitialized use occurs here
-          clk_disable_unprepare(base_clk);
-                                ^~~~~~~~
-
-base_clk is used in the error path before it is initialized. Initialize
-it to NULL, as clk_disable_unprepare() calls clk_disable() and
-clk_unprepare(), which both handle NULL pointers gracefully.
-
-Link: https://github.com/ClangBuiltLinux/linux/issues/1650
-Reported-by: kernel test robot <lkp@intel.com>
-Signed-off-by: Nathan Chancellor <nathan@kernel.org>
-Acked-by: Florian Fainelli <f.fainelli@gmail.com>
-Acked-by: Adrian Hunter <adrian.hunter@intel.com>
-Link: https://lore.kernel.org/r/20220608152757.82529-1-nathan@kernel.org
-Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-Signed-off-by: Kamal Dasu <kamal.dasu@broadcom.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/mmc/host/sdhci-brcmstb.c |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/mmc/host/sdhci-brcmstb.c
-+++ b/drivers/mmc/host/sdhci-brcmstb.c
-@@ -257,7 +257,7 @@ static int sdhci_brcmstb_probe(struct pl
-       struct sdhci_host *host;
-       struct resource *iomem;
-       struct clk *clk;
--      struct clk *base_clk;
-+      struct clk *base_clk = NULL;
-       int res;
-       match = of_match_node(sdhci_brcm_of_match, pdev->dev.of_node);
diff --git a/queue-5.10/mmc-sdhci-brcmstb-use-clk_get_rate-base_clk-in-pm-resume.patch b/queue-5.10/mmc-sdhci-brcmstb-use-clk_get_rate-base_clk-in-pm-resume.patch
deleted file mode 100644 (file)
index 6df89a0..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-From 886201c70a1cab34ef96f867c2b2dd6379ffa7b9 Mon Sep 17 00:00:00 2001
-From: Kamal Dasu <kdasu.kdev@gmail.com>
-Date: Thu, 14 Jul 2022 13:41:32 -0400
-Subject: mmc: sdhci-brcmstb: use clk_get_rate(base_clk) in PM resume
-
-From: Kamal Dasu <kdasu.kdev@gmail.com>
-
-commit 886201c70a1cab34ef96f867c2b2dd6379ffa7b9 upstream.
-
-Use clk_get_rate for base_clk on resume before setting new rate.
-This change ensures that the clock api returns current rate
-and sets the clock to the desired rate and honors CLK_GET_NO_CACHE
-attribute used by clock api.
-
-Fixes: 97904a59855c (mmc: sdhci-brcmstb: Add ability to increase max clock rate for 72116b0)
-Signed-off-by: Kamal Dasu <kdasu.kdev@gmail.com>
-Acked-by: Florian Fainelli <f.fainelli@gmail.com>
-Link: https://lore.kernel.org/r/20220714174132.18541-1-kdasu.kdev@gmail.com
-Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-Signed-off-by: Kamal Dasu <kamal.dasu@broadcom.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/mmc/host/sdhci-brcmstb.c |    9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
---- a/drivers/mmc/host/sdhci-brcmstb.c
-+++ b/drivers/mmc/host/sdhci-brcmstb.c
-@@ -407,7 +407,14 @@ static int sdhci_brcmstb_resume(struct d
-       ret = sdhci_pltfm_resume(dev);
-       if (!ret && priv->base_freq_hz) {
-               ret = clk_prepare_enable(priv->base_clk);
--              if (!ret)
-+              /*
-+               * Note: using clk_get_rate() below as clk_get_rate()
-+               * honors CLK_GET_RATE_NOCACHE attribute, but clk_set_rate()
-+               * may do implicit get_rate() calls that do not honor
-+               * CLK_GET_RATE_NOCACHE.
-+               */
-+              if (!ret &&
-+                  (clk_get_rate(priv->base_clk) != priv->base_freq_hz))
-                       ret = clk_set_rate(priv->base_clk, priv->base_freq_hz);
-       }
index 29560e9a9788ac77855aeefd3cc6cdb8f642c164..72887c2d3eee0975101bf7ce67194954c779f074 100644 (file)
@@ -168,9 +168,6 @@ bpf-check-rcu_read_lock_trace_held-before-calling-bpf-map-helpers.patch
 blk-cgroup-support-to-track-if-policy-is-online.patch
 blk-iocost-do-not-warn-if-iocg-was-already-offlined.patch
 ext4-fix-timer-use-after-free-on-failed-mount.patch
-mmc-sdhci-brcmstb-add-ability-to-increase-max-clock-rate-for-72116b0.patch
-mmc-sdhci-brcmstb-initialize-base_clk-to-null-in-sdhci_brcmstb_probe.patch
-mmc-sdhci-brcmstb-use-clk_get_rate-base_clk-in-pm-resume.patch
 net-mlx5e-fix-use-after-free-of-encap-entry-in-neigh-update-handler.patch
 ipvs-properly-dereference-pe-in-ip_vs_add_service.patch
 net-openvswitch-fix-race-on-port-output.patch