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 04/12] include: common.h: move out endianness macro sanity check
Date: Mon, 14 Oct 2024 13:50:32 +0200	[thread overview]
Message-ID: <20241014115040.2843121-5-a.fatoum@pengutronix.de> (raw)
In-Reply-To: <20241014115040.2843121-1-a.fatoum@pengutronix.de>

This sanity check was added into common.h, so it's part of every build.
As we intend to move out everything that's not an include out of
common.h, let's move it somewhere, where it's still included in every
build, but isn't evaluated repeatedly all the time.

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
 include/common.h | 18 ------------------
 lib/hexdump.c    | 20 ++++++++++++++++++++
 2 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/include/common.h b/include/common.h
index d8e55114ce23..bab03a0444f7 100644
--- a/include/common.h
+++ b/include/common.h
@@ -23,24 +23,6 @@
 #include <linux/printk.h>
 #include <barebox-info.h>
 
-/*
- * sanity check. The Linux Kernel defines only one of __LITTLE_ENDIAN and
- * __BIG_ENDIAN. Endianess can then be tested with #ifdef __xx_ENDIAN. Userspace
- * always defined both __LITTLE_ENDIAN and __BIG_ENDIAN and byteorder can then
- * be tested with #if __BYTE_ORDER == __xx_ENDIAN.
- *
- * As we tend to use a lot of Kernel code in barebox we use the kernel way of
- * determing the byte order. Make sure here that architecture code properly
- * defines it.
- */
-#include <asm/byteorder.h>
-#if defined __LITTLE_ENDIAN && defined __BIG_ENDIAN
-#error "both __LITTLE_ENDIAN and __BIG_ENDIAN are defined"
-#endif
-#if !defined __LITTLE_ENDIAN && !defined __BIG_ENDIAN
-#error "None of __LITTLE_ENDIAN and __BIG_ENDIAN are defined"
-#endif
-
 /*
  * Function Prototypes
  */
diff --git a/lib/hexdump.c b/lib/hexdump.c
index ae078536e3f0..940c4eec64e9 100644
--- a/lib/hexdump.c
+++ b/lib/hexdump.c
@@ -11,6 +11,26 @@
 #include <linux/printk.h>
 #include <asm/unaligned.h>
 #include <pbl.h>
+#include <asm/byteorder.h>
+
+/*
+ * sanity check. The Linux Kernel defines only one of __LITTLE_ENDIAN and
+ * __BIG_ENDIAN. Endianess can then be tested with #ifdef __xx_ENDIAN. Userspace
+ * always defined both __LITTLE_ENDIAN and __BIG_ENDIAN and byteorder can then
+ * be tested with #if __BYTE_ORDER == __xx_ENDIAN.
+ *
+ * As we tend to use a lot of Kernel code in barebox we use the kernel way of
+ * determing the byte order. Make sure here that architecture code properly
+ * defines it.
+ * An additional benefit of placing this here is that this file is always built.
+ */
+#if defined __LITTLE_ENDIAN && defined __BIG_ENDIAN
+#error "both __LITTLE_ENDIAN and __BIG_ENDIAN are defined"
+#endif
+#if !defined __LITTLE_ENDIAN && !defined __BIG_ENDIAN
+#error "None of __LITTLE_ENDIAN and __BIG_ENDIAN are defined"
+#endif
+
 
 const char hex_asc[] = "0123456789abcdef";
 EXPORT_SYMBOL(hex_asc);
-- 
2.39.5




  parent 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 ` [PATCH 01/12] include: common.h: move barebox startup functions into separate header Ahmad Fatoum
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 ` Ahmad Fatoum [this message]
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-5-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