[PATCH 1/4] API: unify platform_sys_info() implementations

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Sat Nov 23 09:47:51 CET 2024


ARM, MIPS, and RISCV can use the same implementation of
platform_sys_info(). PPC provides some extra information.
So keep it separate.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
---
 api/Makefile            |  9 ++++++---
 api/api_platform-arm.c  | 35 -----------------------------------
 api/api_platform-mips.c | 29 -----------------------------
 api/api_platform.c      | 25 +++++++++++++++++++++++++
 4 files changed, 31 insertions(+), 67 deletions(-)
 delete mode 100644 api/api_platform-arm.c
 delete mode 100644 api/api_platform-mips.c
 create mode 100644 api/api_platform.c

diff --git a/api/Makefile b/api/Makefile
index bd2d035fcdb..ce3de6b6a1c 100644
--- a/api/Makefile
+++ b/api/Makefile
@@ -1,8 +1,11 @@
-# SPDX-License-Identifier: GPL-2.0+
+# SPDX-License-Identifier: GPL-2.0-or-later
 #
 # (C) Copyright 2007 Semihalf
 
 obj-y += api.o api_display.o api_net.o api_storage.o
-obj-$(CONFIG_ARM) += api_platform-arm.o
+
+ifeq (CONFIG_PPC,y)
 obj-$(CONFIG_PPC) += api_platform-powerpc.o
-obj-$(CONFIG_MIPS) += api_platform-mips.o
+else
+obj-y += api_platform.o
+endif
diff --git a/api/api_platform-arm.c b/api/api_platform-arm.c
deleted file mode 100644
index 9afba66c244..00000000000
--- a/api/api_platform-arm.c
+++ /dev/null
@@ -1,35 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * (C) Copyright 2007 Semihalf
- *
- * Written by: Rafal Jaworowski <raj at semihalf.com>
- *
- * This file contains routines that fetch data from ARM-dependent sources
- * (bd_info etc.)
- */
-
-#include <config.h>
-#include <linux/types.h>
-#include <api_public.h>
-
-#include <asm/global_data.h>
-
-#include "api_private.h"
-
-DECLARE_GLOBAL_DATA_PTR;
-
-/*
- * Important notice: handling of individual fields MUST be kept in sync with
- * include/asm-arm/u-boot.h and include/asm-arm/global_data.h, so any changes
- * need to reflect their current state and layout of structures involved!
- */
-int platform_sys_info(struct sys_info *si)
-{
-	int i;
-
-	for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++)
-		platform_set_mr(si, gd->bd->bi_dram[i].start,
-				gd->bd->bi_dram[i].size, MR_ATTR_DRAM);
-
-	return 1;
-}
diff --git a/api/api_platform-mips.c b/api/api_platform-mips.c
deleted file mode 100644
index 262b35a2777..00000000000
--- a/api/api_platform-mips.c
+++ /dev/null
@@ -1,29 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * (C) Copyright 2007 Stanislav Galabov <sgalabov at gmail.com>
- *
- * This file contains routines that fetch data from bd_info sources
- */
-
-#include <config.h>
-#include <linux/types.h>
-#include <api_public.h>
-
-#include <asm/global_data.h>
-
-#include "api_private.h"
-
-DECLARE_GLOBAL_DATA_PTR;
-
-/*
- * Important notice: handling of individual fields MUST be kept in sync with
- * include/asm-generic/u-boot.h, so any changes
- * need to reflect their current state and layout of structures involved!
- */
-int platform_sys_info(struct sys_info *si)
-{
-
-	platform_set_mr(si, gd->ram_base, gd->ram_size, MR_ATTR_DRAM);
-
-	return 1;
-}
diff --git a/api/api_platform.c b/api/api_platform.c
new file mode 100644
index 00000000000..7a789bd2016
--- /dev/null
+++ b/api/api_platform.c
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * (C) Copyright 2007 Semihalf
+ *
+ * Written by: Rafal Jaworowski <raj at semihalf.com>
+ *
+ * This file contains a routine to fetch data from the global_data structure.
+ */
+
+#include <api_public.h>
+#include <asm/global_data.h>
+#include "api_private.h"
+
+DECLARE_GLOBAL_DATA_PTR;
+
+int platform_sys_info(struct sys_info *si)
+{
+	int i;
+
+	for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++)
+		platform_set_mr(si, gd->bd->bi_dram[i].start,
+				gd->bd->bi_dram[i].size, MR_ATTR_DRAM);
+
+	return 1;
+}
-- 
2.45.2



More information about the U-Boot mailing list