]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - include/asm-powerpc/firmware.h
[POWERPC] Improve MPIC driver auto-configuration from DT
[karo-tx-linux.git] / include / asm-powerpc / firmware.h
index 1022737f4f34884ea392264cd8a21156290bad67..fdf9aff71150412a9d351241b3c10d65652eb38a 100644 (file)
@@ -96,19 +96,16 @@ extern void machine_check_fwnmi(void);
 /* This is true if we are using the firmware NMI handler (typically LPAR) */
 extern int fwnmi_active;
 
-#else /* __ASSEMBLY__ */
+extern unsigned int __start___fw_ftr_fixup, __stop___fw_ftr_fixup;
 
-#define BEGIN_FW_FTR_SECTION           96:
+#else /* __ASSEMBLY__ */
 
+#define BEGIN_FW_FTR_SECTION_NESTED(label)     label:
+#define BEGIN_FW_FTR_SECTION                   BEGIN_FW_FTR_SECTION_NESTED(97)
+#define END_FW_FTR_SECTION_NESTED(msk, val, label) \
+       MAKE_FTR_SECTION_ENTRY(msk, val, label, __fw_ftr_fixup)
 #define END_FW_FTR_SECTION(msk, val)           \
-97:                                            \
-       .section __fw_ftr_fixup,"a";            \
-       .align 3;                               \
-       .llong msk;                             \
-       .llong val;                             \
-       .llong 96b;                             \
-       .llong 97b;                             \
-       .previous
+       END_FW_FTR_SECTION_NESTED(msk, val, 97)
 
 #define END_FW_FTR_SECTION_IFSET(msk)  END_FW_FTR_SECTION((msk), (msk))
 #define END_FW_FTR_SECTION_IFCLR(msk)  END_FW_FTR_SECTION((msk), 0)