Skip to content

Commit 0d11b39

Browse files
committed
Merge tag 'imx-fixes-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes
i.MX fixes for 6.14: - A tqma8mpql board fix from Alexander Stein to correct vqmmc-supply for usdhc3 - A change from Joe Hattori to fix OF node leak in imx-scu driver probe - A soc-imx8m driver fix from Peng Fan unregister cpufreq and soc device in cleanup path - A couple of changes from Stefan Eichenberger to fix iMX6 Apalis poweroff and iMX8M verdin-dahlia sound-card descriptions * tag 'imx-fixes-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: arm64: dts: freescale: imx8mm-verdin-dahlia: add Microphone Jack to sound card arm64: dts: freescale: imx8mp-verdin-dahlia: add Microphone Jack to sound card soc: imx8m: Unregister cpufreq and soc dev in cleanup path ARM: dts: imx6qdl-apalis: Fix poweroff on Apalis iMX6 arm64: dts: freescale: tqma8mpql: Fix vqmmc-supply firmware: imx-scu: fix OF node leak in .probe() Link: https://lore.kernel.org/r/Z8A+rihFV4K3l8QR@dragon Signed-off-by: Arnd Bergmann <[email protected]>
2 parents b86114f + 2c10928 commit 0d11b39

File tree

6 files changed

+40
-25
lines changed

6 files changed

+40
-25
lines changed

arch/arm/boot/dts/nxp/imx/imx6qdl-apalis.dtsi

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,11 @@
108108
};
109109
};
110110

111+
poweroff {
112+
compatible = "regulator-poweroff";
113+
cpu-supply = <&vgen2_reg>;
114+
};
115+
111116
reg_module_3v3: regulator-module-3v3 {
112117
compatible = "regulator-fixed";
113118
regulator-always-on;
@@ -236,10 +241,6 @@
236241
status = "disabled";
237242
};
238243

239-
&clks {
240-
fsl,pmic-stby-poweroff;
241-
};
242-
243244
/* Apalis SPI1 */
244245
&ecspi1 {
245246
cs-gpios = <&gpio5 25 GPIO_ACTIVE_LOW>;
@@ -527,7 +528,6 @@
527528

528529
pmic: pmic@8 {
529530
compatible = "fsl,pfuze100";
530-
fsl,pmic-stby-poweroff;
531531
reg = <0x08>;
532532

533533
regulators {

arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@
1616
"Headphone Jack", "HPOUTR",
1717
"IN2L", "Line In Jack",
1818
"IN2R", "Line In Jack",
19-
"Headphone Jack", "MICBIAS",
20-
"IN1L", "Headphone Jack";
19+
"Microphone Jack", "MICBIAS",
20+
"IN1L", "Microphone Jack";
2121
simple-audio-card,widgets =
22-
"Microphone", "Headphone Jack",
22+
"Microphone", "Microphone Jack",
2323
"Headphone", "Headphone Jack",
2424
"Line", "Line In Jack";
2525

arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql.dtsi

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
22
/*
3-
* Copyright 2021-2022 TQ-Systems GmbH
4-
* Author: Alexander Stein <[email protected]>
3+
* Copyright 2021-2025 TQ-Systems GmbH <[email protected]>,
4+
* D-82229 Seefeld, Germany.
5+
* Author: Alexander Stein
56
*/
67

78
#include "imx8mp.dtsi"
@@ -23,15 +24,6 @@
2324
regulator-max-microvolt = <3300000>;
2425
regulator-always-on;
2526
};
26-
27-
/* e-MMC IO, needed for HS modes */
28-
reg_vcc1v8: regulator-vcc1v8 {
29-
compatible = "regulator-fixed";
30-
regulator-name = "VCC1V8";
31-
regulator-min-microvolt = <1800000>;
32-
regulator-max-microvolt = <1800000>;
33-
regulator-always-on;
34-
};
3527
};
3628

3729
&A53_0 {
@@ -197,7 +189,7 @@
197189
no-sd;
198190
no-sdio;
199191
vmmc-supply = <&reg_vcc3v3>;
200-
vqmmc-supply = <&reg_vcc1v8>;
192+
vqmmc-supply = <&buck5_reg>;
201193
status = "okay";
202194
};
203195

arch/arm64/boot/dts/freescale/imx8mp-verdin-dahlia.dtsi

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@
2828
"Headphone Jack", "HPOUTR",
2929
"IN2L", "Line In Jack",
3030
"IN2R", "Line In Jack",
31-
"Headphone Jack", "MICBIAS",
32-
"IN1L", "Headphone Jack";
31+
"Microphone Jack", "MICBIAS",
32+
"IN1L", "Microphone Jack";
3333
simple-audio-card,widgets =
34-
"Microphone", "Headphone Jack",
34+
"Microphone", "Microphone Jack",
3535
"Headphone", "Headphone Jack",
3636
"Line", "Line In Jack";
3737

drivers/firmware/imx/imx-scu.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,7 @@ static int imx_scu_probe(struct platform_device *pdev)
280280
return ret;
281281

282282
sc_ipc->fast_ipc = of_device_is_compatible(args.np, "fsl,imx8-mu-scu");
283+
of_node_put(args.np);
283284

284285
num_channel = sc_ipc->fast_ipc ? 2 : SCU_MU_CHAN_NUM;
285286
for (i = 0; i < num_channel; i++) {

drivers/soc/imx/soc-imx8m.c

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,9 +192,20 @@ static __maybe_unused const struct of_device_id imx8_soc_match[] = {
192192
devm_kasprintf((dev), GFP_KERNEL, "%d.%d", ((soc_rev) >> 4) & 0xf, (soc_rev) & 0xf) : \
193193
"unknown"
194194

195+
static void imx8m_unregister_soc(void *data)
196+
{
197+
soc_device_unregister(data);
198+
}
199+
200+
static void imx8m_unregister_cpufreq(void *data)
201+
{
202+
platform_device_unregister(data);
203+
}
204+
195205
static int imx8m_soc_probe(struct platform_device *pdev)
196206
{
197207
struct soc_device_attribute *soc_dev_attr;
208+
struct platform_device *cpufreq_dev;
198209
const struct imx8_soc_data *data;
199210
struct device *dev = &pdev->dev;
200211
const struct of_device_id *id;
@@ -239,11 +250,22 @@ static int imx8m_soc_probe(struct platform_device *pdev)
239250
if (IS_ERR(soc_dev))
240251
return PTR_ERR(soc_dev);
241252

253+
ret = devm_add_action(dev, imx8m_unregister_soc, soc_dev);
254+
if (ret)
255+
return ret;
256+
242257
pr_info("SoC: %s revision %s\n", soc_dev_attr->soc_id,
243258
soc_dev_attr->revision);
244259

245-
if (IS_ENABLED(CONFIG_ARM_IMX_CPUFREQ_DT))
246-
platform_device_register_simple("imx-cpufreq-dt", -1, NULL, 0);
260+
if (IS_ENABLED(CONFIG_ARM_IMX_CPUFREQ_DT)) {
261+
cpufreq_dev = platform_device_register_simple("imx-cpufreq-dt", -1, NULL, 0);
262+
if (IS_ERR(cpufreq_dev))
263+
return dev_err_probe(dev, PTR_ERR(cpufreq_dev),
264+
"Failed to register imx-cpufreq-dev device\n");
265+
ret = devm_add_action(dev, imx8m_unregister_cpufreq, cpufreq_dev);
266+
if (ret)
267+
return ret;
268+
}
247269

248270
return 0;
249271
}

0 commit comments

Comments
 (0)