lkml.org 
[lkml]   [2022]   [Jul]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] ARM: imx6: suspend: Use the size of imx6_suspend() function for fncpy()
Date
Use the size of the imx6_suspend() function for fncpy() instead
of the hard coded size of 'MX6Q_SUSPEND_OCRAM_SIZE - sizeof(*pm_info)'.
Only need to copy the size of the imx6_suspend() function and
not extra code space beyond the function.

Cc: Russell King <linux@armlinux.org.uk>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Fixes: df595746fa69 ("ARM: imx: add suspend in ocram support for i.mx6q")
Signed-off-by: Dean Gehnert <deang@tpi.com>
---
arch/arm/mach-imx/common.h | 2 ++
arch/arm/mach-imx/pm-imx6.c | 2 +-
arch/arm/mach-imx/suspend-imx6.S | 3 +++
3 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-imx/common.h b/arch/arm/mach-imx/common.h
index 13f3068e9845..c73152786ead 100644
--- a/arch/arm/mach-imx/common.h
+++ b/arch/arm/mach-imx/common.h
@@ -96,10 +96,12 @@ int imx_cpu_kill(unsigned int cpu);
void imx53_suspend(void __iomem *ocram_vbase);
extern const u32 imx53_suspend_sz;
void imx6_suspend(void __iomem *ocram_vbase);
+extern const u32 imx6_suspend_sz;
#else
static inline void imx53_suspend(void __iomem *ocram_vbase) {}
static const u32 imx53_suspend_sz;
static inline void imx6_suspend(void __iomem *ocram_vbase) {}
+static const u32 imx6_suspend_sz;
#endif

void v7_cpu_resume(void);
diff --git a/arch/arm/mach-imx/pm-imx6.c b/arch/arm/mach-imx/pm-imx6.c
index 045b9fdd342d..d467ca05b95f 100644
--- a/arch/arm/mach-imx/pm-imx6.c
+++ b/arch/arm/mach-imx/pm-imx6.c
@@ -570,7 +570,7 @@ static int __init imx6q_suspend_init(const struct imx6_pm_socdata *socdata)
imx6_suspend_in_ocram_fn = fncpy(
suspend_ocram_base + sizeof(*pm_info),
&imx6_suspend,
- MX6Q_SUSPEND_OCRAM_SIZE - sizeof(*pm_info));
+ imx6_suspend_sz);

__arm_iomem_set_ro(suspend_ocram_base, MX6Q_SUSPEND_OCRAM_SIZE);

diff --git a/arch/arm/mach-imx/suspend-imx6.S b/arch/arm/mach-imx/suspend-imx6.S
index e06f946b75b9..ee19ac288a90 100644
--- a/arch/arm/mach-imx/suspend-imx6.S
+++ b/arch/arm/mach-imx/suspend-imx6.S
@@ -328,3 +328,6 @@ resume:

ret lr
ENDPROC(imx6_suspend)
+
+ENTRY(imx6_suspend_sz)
+ .word . - imx6_suspend
--
2.17.1
\
 
 \ /
  Last update: 2022-07-19 00:03    [W:0.027 / U:0.292 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site