[PATCH] pbl: allow #include <pbl.h> from assembly

Ahmad Fatoum a.fatoum at pengutronix.de
Mon Jun 26 00:07:47 PDT 2023

When compiled with obj-pbl-y, C code can either check #ifdef __PBL__ or
include <pbl.h> and use the IN_PBL macro that's always defined to be
either 0 or 1. Support doing the same from assembly by making the
<pbl.h> safe to include from outside C.

Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
 include/pbl.h | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/include/pbl.h b/include/pbl.h
index 7dc4fa309257..44957f59784e 100644
--- a/include/pbl.h
+++ b/include/pbl.h
@@ -6,6 +6,14 @@
 #ifndef __PBL_H__
 #define __PBL_H__
+#ifdef __PBL__
+#define IN_PBL	1
+#define IN_PBL	0
+#ifndef __ASSEMBLY__
 #include <linux/types.h>
 extern unsigned long free_mem_ptr;
@@ -13,12 +21,6 @@ extern unsigned long free_mem_end_ptr;
 void pbl_barebox_uncompress(void *dest, void *compressed_start, unsigned int len);
-#ifdef __PBL__
-#define IN_PBL	1
-#define IN_PBL	0
 void fdt_find_mem(const void *fdt, unsigned long *membase, unsigned long *memsize);
 struct fdt_device_id {
@@ -32,5 +34,6 @@ fdt_device_get_match_data(const void *fdt, const char *nodepath,
 int pbl_barebox_verify(const void *compressed_start, unsigned int len,
 		       const void *hash, unsigned int hash_len);
 #endif /* __PBL_H__ */

More information about the barebox mailing list