diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2026-07-30 11:01:01 +0200 |
|---|---|---|
| committer | Arnd Bergmann <arnd@arndb.de> | 2026-07-30 11:01:06 +0200 |
| commit | 7c8af4b5b627d8bbf88c6783db49c52dd6b43f5a (patch) | |
| tree | e788e13691c3a2709049ea5440ed7107a9c842a9 /arch/arm | |
| parent | 77d0531ac4903dea0db3bb8decb0a13f4afc7687 (diff) | |
| parent | 55c748d596f841a18cf659ce0999f64029a5c88c (diff) | |
| download | linux-next-7c8af4b5b627d8bbf88c6783db49c52dd6b43f5a.tar.gz linux-next-7c8af4b5b627d8bbf88c6783db49c52dd6b43f5a.zip | |
Merge tag 'imx-soc-7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/frank.li/linux into soc/arm
i.MX SoC Changes for v7.3
- Fix OF/device_node reference count leaks in imx_src_init(),
imx7_src_init(), and the AVIC interrupt controller driver
- Drop obsolete/unused declarations from `arch/arm/mach-imx/common.h`
- firmware: imx: scu: Refactor mailbox channel management to use a
per-instance handle instead of a global one
- firmware: imx: sm-misc: Add NULL check for `kmalloc` return value in
syslog_show
- soc: imx9: Add error handling for `devm_kasprintf` return value
* tag 'imx-soc-7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/frank.li/linux:
firmware: imx: scu: manage mailbox channels and global handle
soc: imx9: devm_kasprintf error handling
ARM: imx: Drop obsolete stuff from common.h
firmware: imx: sm-misc: Add NULL check for kmalloc in syslog_show
ARM: imx: fix device_node refcount leaks in imx7_src_init()
ARM: imx: fix device_node refcount leak in imx_src_init()
ARM: imx: avic: Fix OF node reference leaks
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm')
| -rw-r--r-- | arch/arm/mach-imx/avic.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-imx/common.h | 7 | ||||
| -rw-r--r-- | arch/arm/mach-imx/src.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-imx/system.c | 8 |
4 files changed, 5 insertions, 15 deletions
diff --git a/arch/arm/mach-imx/avic.c b/arch/arm/mach-imx/avic.c index 3067c06b4b8e..6873a50bbe2c 100644 --- a/arch/arm/mach-imx/avic.c +++ b/arch/arm/mach-imx/avic.c @@ -173,6 +173,7 @@ static void __init mxc_init_irq(void __iomem *irqbase) np = of_find_compatible_node(NULL, NULL, "fsl,imx25-ccm"); mx25_ccm_base = of_iomap(np, 0); + of_node_put(np); if (mx25_ccm_base) { /* @@ -203,6 +204,7 @@ static void __init mxc_init_irq(void __iomem *irqbase) np = of_find_compatible_node(NULL, NULL, "fsl,avic"); domain = irq_domain_create_legacy(of_fwnode_handle(np), AVIC_NUM_IRQS, irq_base, 0, &irq_domain_simple_ops, NULL); + of_node_put(np); WARN_ON(!domain); for (i = 0; i < AVIC_NUM_IRQS / 32; i++, irq_base += 32) diff --git a/arch/arm/mach-imx/common.h b/arch/arm/mach-imx/common.h index 45c1a2a7b35f..d7ecaa822adb 100644 --- a/arch/arm/mach-imx/common.h +++ b/arch/arm/mach-imx/common.h @@ -14,23 +14,16 @@ struct platform_device; struct pt_regs; struct clk; struct device_node; -enum mxc_cpu_pwr_mode; -struct of_device_id; void mx31_map_io(void); void mx35_map_io(void); -void imx21_init_early(void); void imx31_init_early(void); void imx35_init_early(void); -void mx31_init_irq(void); -void mx35_init_irq(void); void mxc_set_cpu_type(unsigned int type); void mxc_restart(enum reboot_mode, const char *); void mxc_arch_reset_init(void __iomem *); -void imx1_reset_init(void __iomem *); void imx_set_aips(void __iomem *); void imx_aips_allow_unprivileged_access(const char *compat); -int mxc_device_init(void); void imx_set_soc_revision(unsigned int rev); void imx_init_revision_from_anatop(void); void imx6_enable_rbc(bool enable); diff --git a/arch/arm/mach-imx/src.c b/arch/arm/mach-imx/src.c index 59a8e8cc4469..c3c80b4c3d53 100644 --- a/arch/arm/mach-imx/src.c +++ b/arch/arm/mach-imx/src.c @@ -171,6 +171,7 @@ void __init imx_src_init(void) if (!np) return; src_base = of_iomap(np, 0); + of_node_put(np); WARN_ON(!src_base); /* @@ -195,6 +196,7 @@ void __init imx7_src_init(void) return; src_base = of_iomap(np, 0); + of_node_put(np); if (!src_base) return; @@ -203,6 +205,7 @@ void __init imx7_src_init(void) return; gpc_base = of_iomap(np, 0); + of_node_put(np); if (!gpc_base) return; } diff --git a/arch/arm/mach-imx/system.c b/arch/arm/mach-imx/system.c index e88ca027129d..1afae485f203 100644 --- a/arch/arm/mach-imx/system.c +++ b/arch/arm/mach-imx/system.c @@ -74,14 +74,6 @@ void __init mxc_arch_reset_init(void __iomem *base) clk_prepare(wdog_clk); } -#ifdef CONFIG_SOC_IMX1 -void __init imx1_reset_init(void __iomem *base) -{ - wcr_enable = (1 << 0); - mxc_arch_reset_init(base); -} -#endif - #ifdef CONFIG_CACHE_L2X0 void __init imx_init_l2cache(void) { |
