[PATCH 4/6] ARM: i.MX: external NAND boot: remove unnecessary arguments from imx*_nand_load_image

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The imx*_nand_load_image functions all take dest, size, nfc_base and
pagesize_2k arguments. All of these can be guessed inside the functions,
so remove them.

Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
---
 arch/arm/mach-imx/external-nand-boot.c | 84 ++++++++++++--------------
 1 file changed, 39 insertions(+), 45 deletions(-)

diff --git a/arch/arm/mach-imx/external-nand-boot.c b/arch/arm/mach-imx/external-nand-boot.c
index c4d61aa786..de8e0ffe5d 100644
--- a/arch/arm/mach-imx/external-nand-boot.c
+++ b/arch/arm/mach-imx/external-nand-boot.c
@@ -134,12 +134,13 @@ static noinline void __bare_init imx_nandboot_get_page(void *regs, int v1,
 	imx_nandboot_send_page(regs, v1, NFC_OUTPUT, pagesize_2k);
 }
 
-static void __bare_init imx_nand_load_image(void *dest, int v1, int size,
+static void __bare_init imx_nand_load_image(void *dest, int v1,
 					    void __iomem *base, int pagesize_2k)
 {
 	u32 tmp, page, block, blocksize, pagesize, badblocks;
 	int bbt = 0;
 	void *regs, *spare0;
+	int size = *(uint32_t *)(dest + 0x2c);
 
 	if (pagesize_2k) {
 		pagesize = 2048;
@@ -239,60 +240,60 @@ static void __bare_init imx_nand_load_image(void *dest, int v1, int size,
 	}
 }
 
-static void BARE_INIT_FUNCTION(imx25_nand_load_image)(void *dest, int size,
-                void __iomem *base, int pagesize_2k)
+static void BARE_INIT_FUNCTION(imx25_nand_load_image)(void)
 {
-        imx_nand_load_image(dest, 0, size, base, pagesize_2k);
-}
-
-static void BARE_INIT_FUNCTION(imx27_nand_load_image)(void *dest, int size,
-                void __iomem *base, int pagesize_2k)
-{
-        imx_nand_load_image(dest, 1, size, base, pagesize_2k);
-}
-
-static void BARE_INIT_FUNCTION(imx31_nand_load_image)(void *dest, int size,
-                void __iomem *base, int pagesize_2k)
-{
-        imx_nand_load_image(dest, 1, size, base, pagesize_2k);
-}
-
-static void BARE_INIT_FUNCTION(imx35_nand_load_image)(void *dest, int size,
-                void __iomem *base, int pagesize_2k)
-{
-        imx_nand_load_image(dest, 0, size, base, pagesize_2k);
-}
+	void *sdram = (void *)MX25_CSD0_BASE_ADDR;
+	void __iomem *nfc_base = IOMEM(MX25_NFC_BASE_ADDR);
+	bool pagesize_2k;
 
-static inline int imx25_pagesize_2k(void)
-{
 	if (readl(MX25_CCM_BASE_ADDR + MX25_CCM_RCSR) & (1 << 8))
-		return 1;
+		pagesize_2k = true;
 	else
-		return 0;
+		pagesize_2k = false;
+
+	imx_nand_load_image(sdram, 0, nfc_base, pagesize_2k);
 }
 
-static inline int imx27_pagesize_2k(void)
+static void BARE_INIT_FUNCTION(imx27_nand_load_image)(void)
 {
+	void *sdram = (void *)MX27_CSD0_BASE_ADDR;
+	void __iomem *nfc_base = IOMEM(MX27_NFC_BASE_ADDR);
+	bool pagesize_2k;
+
 	if (readl(MX27_SYSCTRL_BASE_ADDR + 0x14) & (1 << 5))
-		return 1;
+		pagesize_2k = true;
 	else
-		return 0;
+		pagesize_2k = false;
+
+	imx_nand_load_image(sdram, 1, nfc_base, pagesize_2k);
 }
 
-static inline int imx31_pagesize_2k(void)
+static void BARE_INIT_FUNCTION(imx31_nand_load_image)(void)
 {
+	void *sdram = (void *)MX31_CSD0_BASE_ADDR;
+	void __iomem *nfc_base = IOMEM(MX31_NFC_BASE_ADDR);
+	bool pagesize_2k;
+
 	if (readl(MX31_CCM_BASE_ADDR + MX31_CCM_RCSR) & MX31_RCSR_NFMS)
-		return 1;
+		pagesize_2k = true;
 	else
-		return 0;
+		pagesize_2k = false;
+
+	imx_nand_load_image(sdram, 1, nfc_base, pagesize_2k);
 }
 
-static inline int imx35_pagesize_2k(void)
+static void BARE_INIT_FUNCTION(imx35_nand_load_image)(void)
 {
+	void *sdram = (void *)MX35_CSD0_BASE_ADDR;
+	void __iomem *nfc_base = IOMEM(MX35_NFC_BASE_ADDR);
+	bool pagesize_2k;
+
 	if (readl(MX35_CCM_BASE_ADDR + MX35_CCM_RCSR) & (1 << 8))
-		return 1;
+		pagesize_2k = true;
 	else
-		return 0;
+		pagesize_2k = false;
+
+	imx_nand_load_image(sdram, 0, nfc_base, pagesize_2k);
 }
 
 /*
@@ -307,20 +308,13 @@ static inline int imx35_pagesize_2k(void)
 static void __noreturn BARE_INIT_FUNCTION(imx##soc##_boot_nand_external_cont)  \
 			(void *boarddata)				\
 {									\
-	unsigned long nfc_base = MX##soc##_NFC_BASE_ADDR;		\
-	void *sdram = (void *)MX##soc##_CSD0_BASE_ADDR;			\
-	uint32_t image_size, r;						\
-									\
-	image_size = *(uint32_t *)(sdram + 0x2c);			\
+	uint32_t r;							\
 									\
 	r = get_cr();							\
 	r |= CR_I;							\
 	set_cr(r);							\
 									\
-	imx##soc##_nand_load_image(sdram,				\
-			image_size,					\
-			(void *)nfc_base,				\
-			imx##soc##_pagesize_2k());			\
+	imx##soc##_nand_load_image();					\
 									\
         imx##soc##_barebox_entry(boarddata);				\
 }									\
-- 
2.25.0


_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux