From: Greg Kroah-Hartman Date: Mon, 14 Jul 2025 12:52:09 +0000 (+0200) Subject: drop asoc patches from 5.15 X-Git-Tag: v5.15.188~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d14c4c6ea40ee656a1e3d16ddeda99a95927044f;p=thirdparty%2Fkernel%2Fstable-queue.git drop asoc patches from 5.15 broke the build, depeneded on things that had too many other fixes necessary to get working --- diff --git a/queue-5.15/asoc-codecs-wcd9335-fix-missing-free-of-regulator-su.patch b/queue-5.15/asoc-codecs-wcd9335-fix-missing-free-of-regulator-su.patch deleted file mode 100644 index 42a072a880..0000000000 --- a/queue-5.15/asoc-codecs-wcd9335-fix-missing-free-of-regulator-su.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 3752e1c62b4968606391bc8586169eda1b30079f Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 26 May 2025 11:47:01 +0200 -Subject: ASoC: codecs: wcd9335: Fix missing free of regulator supplies - -From: Krzysztof Kozlowski - -[ Upstream commit 9079db287fc3e38e040b0edeb0a25770bb679c8e ] - -Driver gets and enables all regulator supplies in probe path -(wcd9335_parse_dt() and wcd9335_power_on_reset()), but does not cleanup -in final error paths and in unbind (missing remove() callback). This -leads to leaked memory and unbalanced regulator enable count during -probe errors or unbind. - -Fix this by converting entire code into devm_regulator_bulk_get_enable() -which also greatly simplifies the code. - -Fixes: 20aedafdf492 ("ASoC: wcd9335: add support to wcd9335 codec") -Cc: stable@vger.kernel.org -Signed-off-by: Krzysztof Kozlowski -Link: https://patch.msgid.link/20250526-b4-b4-asoc-wcd9395-vdd-px-fixes-v1-1-0b8a2993b7d3@linaro.org -Signed-off-by: Mark Brown -Signed-off-by: Sasha Levin -Signed-off-by: Greg Kroah-Hartman ---- - sound/soc/codecs/wcd9335.c | 25 +++++++------------------ - 1 file changed, 7 insertions(+), 18 deletions(-) - ---- a/sound/soc/codecs/wcd9335.c -+++ b/sound/soc/codecs/wcd9335.c -@@ -339,7 +339,6 @@ struct wcd9335_codec { - - int intr1; - int reset_gpio; -- struct regulator_bulk_data supplies[WCD9335_MAX_SUPPLY]; - - unsigned int rx_port_value; - unsigned int tx_port_value; -@@ -366,6 +365,10 @@ struct wcd9335_irq { - char *name; - }; - -+static const char * const wcd9335_supplies[] = { -+ "vdd-buck", "vdd-buck-sido", "vdd-tx", "vdd-rx", "vdd-io", -+}; -+ - static const struct wcd9335_slim_ch wcd9335_tx_chs[WCD9335_TX_MAX] = { - WCD9335_SLIM_TX_CH(0), - WCD9335_SLIM_TX_CH(1), -@@ -5039,30 +5042,16 @@ static int wcd9335_parse_dt(struct wcd93 - if (IS_ERR(wcd->native_clk)) - return dev_err_probe(dev, PTR_ERR(wcd->native_clk), "slimbus clock not found\n"); - -- wcd->supplies[0].supply = "vdd-buck"; -- wcd->supplies[1].supply = "vdd-buck-sido"; -- wcd->supplies[2].supply = "vdd-tx"; -- wcd->supplies[3].supply = "vdd-rx"; -- wcd->supplies[4].supply = "vdd-io"; -- -- ret = regulator_bulk_get(dev, WCD9335_MAX_SUPPLY, wcd->supplies); -+ ret = devm_regulator_bulk_get_enable(dev, ARRAY_SIZE(wcd9335_supplies), -+ wcd9335_supplies); - if (ret) -- return dev_err_probe(dev, ret, "Failed to get supplies\n"); -+ return dev_err_probe(dev, ret, "Failed to get and enable supplies\n"); - - return 0; - } - - static int wcd9335_power_on_reset(struct wcd9335_codec *wcd) - { -- struct device *dev = wcd->dev; -- int ret; -- -- ret = regulator_bulk_enable(WCD9335_MAX_SUPPLY, wcd->supplies); -- if (ret) { -- dev_err(dev, "Failed to get supplies: err = %d\n", ret); -- return ret; -- } -- - /* - * For WCD9335, it takes about 600us for the Vout_A and - * Vout_D to be ready after BUCK_SIDO is powered up. diff --git a/queue-5.15/asoc-codecs-wcd9335-handle-nicer-probe-deferral-and-.patch b/queue-5.15/asoc-codecs-wcd9335-handle-nicer-probe-deferral-and-.patch deleted file mode 100644 index 8abbd50316..0000000000 --- a/queue-5.15/asoc-codecs-wcd9335-handle-nicer-probe-deferral-and-.patch +++ /dev/null @@ -1,85 +0,0 @@ -From ab3ce384fb24a3ee3671c39955a6c53d01ce1b87 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 12 Jun 2024 18:15:17 +0200 -Subject: ASoC: codecs: wcd9335: Handle nicer probe deferral and simplify with - dev_err_probe() - -From: Krzysztof Kozlowski - -[ Upstream commit 4a03b5dbad466c902d522f3405daa4e5d80578c5 ] - -wcd9335_parse_dt() function is called only from probe(), so printing -errors on resource acquisition is discouraged, because it can pollute -dmesg. Use dev_err_probe() to fix this and also make the code a bit -simpler. - -Signed-off-by: Krzysztof Kozlowski -Link: https://msgid.link/r/20240612-asoc-wcd9xxx-wide-cleanups-v1-4-0d15885b2a06@linaro.org -Signed-off-by: Mark Brown -Stable-dep-of: 9079db287fc3 ("ASoC: codecs: wcd9335: Fix missing free of regulator supplies") -Signed-off-by: Sasha Levin ---- - sound/soc/codecs/wcd9335.c | 28 +++++++++------------------- - 1 file changed, 9 insertions(+), 19 deletions(-) - -diff --git a/sound/soc/codecs/wcd9335.c b/sound/soc/codecs/wcd9335.c -index 075ed20e9fad8..dc4ce2c3f2188 100644 ---- a/sound/soc/codecs/wcd9335.c -+++ b/sound/soc/codecs/wcd9335.c -@@ -5028,22 +5028,16 @@ static int wcd9335_parse_dt(struct wcd9335_codec *wcd) - int ret; - - wcd->reset_gpio = of_get_named_gpio(np, "reset-gpios", 0); -- if (wcd->reset_gpio < 0) { -- dev_err(dev, "Reset GPIO missing from DT\n"); -- return wcd->reset_gpio; -- } -+ if (wcd->reset_gpio < 0) -+ return dev_err_probe(dev, wcd->reset_gpio, "Reset GPIO missing from DT\n"); - - wcd->mclk = devm_clk_get(dev, "mclk"); -- if (IS_ERR(wcd->mclk)) { -- dev_err(dev, "mclk not found\n"); -- return PTR_ERR(wcd->mclk); -- } -+ if (IS_ERR(wcd->mclk)) -+ return dev_err_probe(dev, PTR_ERR(wcd->mclk), "mclk not found\n"); - - wcd->native_clk = devm_clk_get(dev, "slimbus"); -- if (IS_ERR(wcd->native_clk)) { -- dev_err(dev, "slimbus clock not found\n"); -- return PTR_ERR(wcd->native_clk); -- } -+ if (IS_ERR(wcd->native_clk)) -+ return dev_err_probe(dev, PTR_ERR(wcd->native_clk), "slimbus clock not found\n"); - - wcd->supplies[0].supply = "vdd-buck"; - wcd->supplies[1].supply = "vdd-buck-sido"; -@@ -5052,10 +5046,8 @@ static int wcd9335_parse_dt(struct wcd9335_codec *wcd) - wcd->supplies[4].supply = "vdd-io"; - - ret = regulator_bulk_get(dev, WCD9335_MAX_SUPPLY, wcd->supplies); -- if (ret) { -- dev_err(dev, "Failed to get supplies: err = %d\n", ret); -- return ret; -- } -+ if (ret) -+ return dev_err_probe(dev, ret, "Failed to get supplies\n"); - - return 0; - } -@@ -5158,10 +5150,8 @@ static int wcd9335_slim_probe(struct slim_device *slim) - - wcd->dev = dev; - ret = wcd9335_parse_dt(wcd); -- if (ret) { -- dev_err(dev, "Error parsing DT: %d\n", ret); -+ if (ret) - return ret; -- } - - ret = wcd9335_power_on_reset(wcd); - if (ret) --- -2.39.5 - diff --git a/queue-5.15/series b/queue-5.15/series index ef50e08400..826a1454fe 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -33,8 +33,6 @@ drm-sched-increment-job-count-before-swapping-tail-spsc-queue.patch drm-gem-fix-race-in-drm_gem_handle_create_tail.patch usb-gadget-u_serial-fix-race-condition-in-tty-wakeup.patch revert-acpi-battery-negate-current-when-discharging.patch -asoc-codecs-wcd9335-handle-nicer-probe-deferral-and-.patch -asoc-codecs-wcd9335-fix-missing-free-of-regulator-su.patch btrfs-propagate-last_unlink_trans-earlier-when-doing.patch btrfs-use-btrfs_record_snapshot_destroy-during-rmdir.patch rdma-mlx5-fix-vport-loopback-for-mpv-device.patch