mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Ahmad Fatoum <a.fatoum@pengutronix.de>
To: barebox@lists.infradead.org
Cc: Ahmad Fatoum <a.fatoum@pengutronix.de>
Subject: [PATCH 01/12] include: common.h: move barebox startup functions into separate header
Date: Mon, 14 Oct 2024 13:50:29 +0200	[thread overview]
Message-ID: <20241014115040.2843121-2-a.fatoum@pengutronix.de> (raw)
In-Reply-To: <20241014115040.2843121-1-a.fatoum@pengutronix.de>

Symbols exclusively defined in common.h are a problem, because other
headers that require them will need to include a lot of extra baggage,
which in the worst case can lead to cyclic dependencies and in every
case leads to longer compile times.

In preparation for turning common.h into containing only #include lines,
let's move the barebox boot stage stuff into a separate header.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 include/barebox.h | 35 +++++++++++++++++++++++++++++++++++
 include/common.h  | 28 +---------------------------
 2 files changed, 36 insertions(+), 27 deletions(-)
 create mode 100644 include/barebox.h

diff --git a/include/barebox.h b/include/barebox.h
new file mode 100644
index 000000000000..741463bc1cf9
--- /dev/null
+++ b/include/barebox.h
@@ -0,0 +1,35 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#ifndef __BAREBOX_H_
+#define __BAREBOX_H_
+
+#include <linux/compiler.h>
+
+/* For use when unrelocated */
+static inline void __hang(void)
+{
+	while (1);
+}
+void __noreturn hang (void);
+
+/*
+ * Function pointer to the main barebox function. Defaults
+ * to run_shell() when a shell is enabled.
+ */
+extern int (*barebox_main)(void);
+
+enum autoboot_state {
+	AUTOBOOT_COUNTDOWN,
+	AUTOBOOT_ABORT,
+	AUTOBOOT_MENU,
+	AUTOBOOT_BOOT,
+	AUTOBOOT_UNKNOWN,
+};
+
+void set_autoboot_state(enum autoboot_state autoboot);
+enum autoboot_state do_autoboot_countdown(void);
+
+void __noreturn start_barebox(void);
+void shutdown_barebox(void);
+
+#endif
diff --git a/include/common.h b/include/common.h
index 571f46fd0bc1..cc7f089aeef0 100644
--- a/include/common.h
+++ b/include/common.h
@@ -8,6 +8,7 @@
 #define __COMMON_H_	1
 
 #include <stdio.h>
+#include <barebox.h>
 #include <module.h>
 #include <config.h>
 #include <clock.h>
@@ -45,14 +46,6 @@
  */
 void reginfo(void);
 
-/* For use when unrelocated */
-static inline void __hang(void)
-{
-	while (1);
-}
-
-void __noreturn hang (void);
-
 char *size_human_readable(unsigned long long size);
 
 int	readline	(const char *prompt, char *buf, int len);
@@ -76,25 +69,6 @@ int parse_area_spec(const char *str, loff_t *start, loff_t *size);
 unsigned long strtoul_suffix(const char *str, char **endp, int base);
 unsigned long long strtoull_suffix(const char *str, char **endp, int base);
 
-/*
- * Function pointer to the main barebox function. Defaults
- * to run_shell() when a shell is enabled.
- */
-extern int (*barebox_main)(void);
-
-enum autoboot_state {
-	AUTOBOOT_COUNTDOWN,
-	AUTOBOOT_ABORT,
-	AUTOBOOT_MENU,
-	AUTOBOOT_BOOT,
-	AUTOBOOT_UNKNOWN,
-};
-
-void set_autoboot_state(enum autoboot_state autoboot);
-enum autoboot_state do_autoboot_countdown(void);
-
-void __noreturn start_barebox(void);
-void shutdown_barebox(void);
 int mem_parse_options(int argc, char *argv[], char *optstr, int *mode,
 		char **sourcefile, char **destfile, int *swab);
 int memcpy_parse_options(int argc, char *argv[], int *sourcefd,
-- 
2.39.5




  reply	other threads:[~2024-10-14 13:30 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-14 11:50 [PATCH 00/12] include: common.h: make it include only headers Ahmad Fatoum
2024-10-14 11:50 ` Ahmad Fatoum [this message]
2024-10-14 11:50 ` [PATCH 02/12] include: common.h: move ctrlc() functions into stdio.h Ahmad Fatoum
2024-10-14 11:50 ` [PATCH 03/12] include: common.h: move out integer string parsing functions Ahmad Fatoum
2024-10-14 11:50 ` [PATCH 04/12] include: common.h: move out endianness macro sanity check Ahmad Fatoum
2024-10-14 11:50 ` [PATCH 05/12] include: common.h: move out user interface functions into stdio.h Ahmad Fatoum
2024-10-14 11:50 ` [PATCH 06/12] include: common.h: move out memory option parsing prototypes Ahmad Fatoum
2024-10-14 11:50 ` [PATCH 07/12] include: common.h: move out RW_BUF_SIZE definition Ahmad Fatoum
2024-10-14 11:50 ` [PATCH 08/12] commands: add macro to simplify defining one shot commands Ahmad Fatoum
2024-10-14 11:50 ` [PATCH 09/12] commands: reginfo: make command mpc5xxx-specific Ahmad Fatoum
2024-10-15  7:13   ` Sascha Hauer
2024-10-15  7:20     ` Ahmad Fatoum
2024-10-14 11:50 ` [PATCH 10/12] include: common.h: move out get_ram_size Ahmad Fatoum
2024-10-14 11:50 ` [PATCH 11/12] include: align: reword STACK_ALIGN_ARRAY macro parameter for clarity Ahmad Fatoum
2024-10-14 11:50 ` [PATCH 12/12] ARM: bcm283x: remove common.h include in mbox.h Ahmad Fatoum
2024-10-15  7:10 ` [PATCH 00/12] include: common.h: make it include only headers Sascha Hauer
2024-10-15  7:16   ` Sascha Hauer
2024-10-15 13:35     ` Konstantin Ryabitsev
2024-10-16 10:25       ` Sascha Hauer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241014115040.2843121-2-a.fatoum@pengutronix.de \
    --to=a.fatoum@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox