diff --git a/include/image-metadata.h b/include/image-metadata.h index 8739bff..5904d95 100644 --- a/include/image-metadata.h +++ b/include/image-metadata.h @@ -118,6 +118,10 @@ #define IMD_USED(_name) \ imd_used(&__barebox_imd_##_name) +#define IMD_USED_OF(_name) ({ \ + extern char __barebox_imd_OF_ ## _name[]; \ + imd_used(&__barebox_imd_OF_ ## _name); \ + }) #endif /* __BAREBOX__ */ diff --git a/scripts/gen-dtb-s b/scripts/gen-dtb-s index 2b44ffb..307b1f6 100755 --- a/scripts/gen-dtb-s +++ b/scripts/gen-dtb-s @@ -18,8 +18,8 @@ if [ "$imd" = "y" ]; then echo ".section .barebox_imd_0.${name},\"a\"" - echo ".global __imd_${name}_start" - echo "__imd_${name}_start:" + echo ".global __barebox_imd_OF_${name}" + echo "__barebox_imd_OF_${name}:" compat=$($FDTGET -d notfound -t bi "$dtb" / compatible | sed "s^ ^,^g") if [ "$compat" != "notfound" ]; then @@ -69,7 +69,3 @@ echo "__dtb_z_${name}_end:" echo ".global __dtb_z_${name}_end" echo ".balign STRUCT_ALIGNMENT" - -if [ "$imd" = "y" ]; then - echo ".word __imd_${name}_start" -fi