In preparation for extending support to RISC-V, sprinkle around some
preprocessor directives.

Signed-off-by: Ahmad Fatoum <[email protected]>
---
 common/boards/qemu-virt/board.c              | 25 ++++++++++++++++----
 common/boards/qemu-virt/overlay-of-flash.dts |  8 +++++--
 2 files changed, 26 insertions(+), 7 deletions(-)

diff --git a/common/boards/qemu-virt/board.c b/common/boards/qemu-virt/board.c
index 1333687918e1..f10608e30343 100644
--- a/common/boards/qemu-virt/board.c
+++ b/common/boards/qemu-virt/board.c
@@ -7,7 +7,6 @@
 #include <init.h>
 #include <of.h>
 #include <deep-probe.h>
-#include <asm/system_info.h>
 
 #ifdef CONFIG_64BIT
 #define MACHINE "virt64"
@@ -15,12 +14,12 @@
 #define MACHINE "virt"
 #endif
 
-extern char __dtb_overlay_of_flash_start[];
+#ifdef CONFIG_ARM
+#include <asm/system_info.h>
 
-static int virt_probe(struct device_d *dev)
+static inline void arm_virt_init(void)
 {
        const char *hostname = MACHINE;
-       struct device_node *overlay;
 
        if (cpu_is_cortex_a7())
                hostname = "virt-a7";
@@ -29,6 +28,22 @@ static int virt_probe(struct device_d *dev)
 
        barebox_set_model("ARM QEMU " MACHINE);
        barebox_set_hostname(hostname);
+}
+
+#else
+static inline void arm_virt_init(void) {}
+#endif
+
+extern char __dtb_overlay_of_flash_start[];
+
+static int virt_probe(struct device_d *dev)
+{
+       struct device_node *overlay;
+       void (*init)(void);
+
+       init = device_get_match_data(dev);
+       if (init)
+               init();
 
        overlay = of_unflatten_dtb(__dtb_overlay_of_flash_start, INT_MAX);
        of_overlay_apply_tree(dev->device_node, overlay);
@@ -38,7 +53,7 @@ static int virt_probe(struct device_d *dev)
 }
 
 static const struct of_device_id virt_of_match[] = {
-       { .compatible = "linux,dummy-virt" },
+       { .compatible = "linux,dummy-virt", .data = arm_virt_init },
        { /* Sentinel */},
 };
 BAREBOX_DEEP_PROBE_ENABLE(virt_of_match);
diff --git a/common/boards/qemu-virt/overlay-of-flash.dts 
b/common/boards/qemu-virt/overlay-of-flash.dts
index e00dc5d7e233..ed6ad0072b55 100644
--- a/common/boards/qemu-virt/overlay-of-flash.dts
+++ b/common/boards/qemu-virt/overlay-of-flash.dts
@@ -1,8 +1,12 @@
 /dts-v1/;
 /plugin/;
+
+#define PARTS_TARGET_PATH      "/flash@0"
+#define ENV_DEVICE_PATH                "/flash@0/partitions/partition@3c00000"
+
 / {
        fragment@0 {
-               target-path = "/flash@0";
+               target-path = PARTS_TARGET_PATH;
                __overlay__ {
                        partitions {
                                compatible = "fixed-partitions";
@@ -32,7 +36,7 @@
                        chosen {
                                environment {
                                        compatible = "barebox,environment";
-                                       device-path = 
"/flash@0/partitions/partition@3c00000";
+                                       device-path = ENV_DEVICE_PATH;
                                };
                        };
                        aliases {
-- 
2.30.2


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to