diff options
Diffstat (limited to 'configs/platform-v7a/patches/barebox-2017.10.0/0012-ARM-vexpress-add-fixup-handler-for-virtio-mmio-devic.patch')
-rw-r--r-- | configs/platform-v7a/patches/barebox-2017.10.0/0012-ARM-vexpress-add-fixup-handler-for-virtio-mmio-devic.patch | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/configs/platform-v7a/patches/barebox-2017.10.0/0012-ARM-vexpress-add-fixup-handler-for-virtio-mmio-devic.patch b/configs/platform-v7a/patches/barebox-2017.10.0/0012-ARM-vexpress-add-fixup-handler-for-virtio-mmio-devic.patch deleted file mode 100644 index ff407c9..0000000 --- a/configs/platform-v7a/patches/barebox-2017.10.0/0012-ARM-vexpress-add-fixup-handler-for-virtio-mmio-devic.patch +++ /dev/null @@ -1,54 +0,0 @@ -From: Michael Olbrich <m.olbrich@pengutronix.de> -Date: Tue, 13 Sep 2016 21:20:10 +0200 -Subject: [PATCH] ARM: vexpress: add fixup handler for 'virtio,mmio' devices - -Qemu adds 'virtio,mmio' nodes to the device tree. Before passing it to the -bootloader or the Linux kernel. This fixup handler copies these nodes to -the new device tree. - -v2: -- move from general to platform specific init - -Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> -Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de> ---- - arch/arm/boards/vexpress/init.c | 29 +++++++++++++++++++++++++++++ - 1 file changed, 29 insertions(+) - -diff --git a/arch/arm/boards/vexpress/init.c b/arch/arm/boards/vexpress/init.c -index 1bbc8c347638..946385393f44 100644 ---- a/arch/arm/boards/vexpress/init.c -+++ b/arch/arm/boards/vexpress/init.c -@@ -45,3 +45,32 @@ static int vexpress_core_init(void) - return 0; - } - postcore_initcall(vexpress_core_init); -+ -+static int of_fixup_virtio_mmio(struct device_node *root, void *unused) -+{ -+ struct device_node *barebox_root, *np, *parent; -+ -+ barebox_root = of_get_root_node(); -+ if (root == barebox_root) -+ return 0; -+ -+ for_each_compatible_node_from(np, barebox_root, NULL, "virtio,mmio") { -+ if (of_get_parent(np) == barebox_root) -+ parent = root; -+ else -+ parent = of_find_node_by_path_from(root, -+ of_get_parent(np)->full_name); -+ if (!parent) -+ return -EINVAL; -+ -+ of_copy_node(parent, np); -+ } -+ -+ return 0; -+} -+ -+static int of_register_virtio_mmio_fixup(void) -+{ -+ return of_register_fixup(of_fixup_virtio_mmio, NULL); -+} -+late_initcall(of_register_virtio_mmio_fixup); |