Thomas Zimmermann 85b6c0
From 49bd201996152822e3f5f9aa3a7f8da3518a7b42 Mon Sep 17 00:00:00 2001
Thomas Zimmermann 85b6c0
From: Thomas Zimmermann <tzimmermann@suse.de>
Thomas Zimmermann 85b6c0
Date: Thu, 10 Nov 2022 09:27:41 +0100
Thomas Zimmermann 85b6c0
Subject: [PATCH] bsc#1204315: Disable sysfb before creating simple-framebuffer
Thomas Zimmermann 85b6c0
 from DT
Thomas Zimmermann 85b6c0
Patch-mainline: Never, internal workaround
Thomas Zimmermann 85b6c0
References: bsc#1204315
Thomas Zimmermann 85b6c0
Thomas Zimmermann 85b6c0
Otherwise sysfb will create a second platform device for the same
Thomas Zimmermann 85b6c0
framebuffer. Avoids warning about duplicate resource usage.
Thomas Zimmermann 85b6c0
Thomas Zimmermann 85b6c0
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Thomas Zimmermann 85b6c0
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Thomas Zimmermann 85b6c0
---
Thomas Zimmermann 85b6c0
 drivers/of/platform.c | 2 ++
Thomas Zimmermann 85b6c0
 1 file changed, 2 insertions(+)
Thomas Zimmermann 85b6c0
Thomas Zimmermann 85b6c0
diff --git a/drivers/of/platform.c b/drivers/of/platform.c
Thomas Zimmermann 85b6c0
index 3507095a69f6..278d6d6fa516 100644
Thomas Zimmermann 85b6c0
--- a/drivers/of/platform.c
Thomas Zimmermann 85b6c0
+++ b/drivers/of/platform.c
Thomas Zimmermann 85b6c0
@@ -20,6 +20,7 @@
Thomas Zimmermann 85b6c0
 #include <linux/of_irq.h>
Thomas Zimmermann 85b6c0
 #include <linux/of_platform.h>
Thomas Zimmermann 85b6c0
 #include <linux/platform_device.h>
Thomas Zimmermann 85b6c0
+#include <linux/sysfb.h>
Thomas Zimmermann 85b6c0
 
Thomas Zimmermann 85b6c0
 const struct of_device_id of_default_bus_match_table[] = {
Thomas Zimmermann 85b6c0
 	{ .compatible = "simple-bus", },
Thomas Zimmermann 85b6c0
@@ -583,6 +584,7 @@ static int __init of_platform_default_populate_init(void)
Thomas Zimmermann 85b6c0
 			of_node_put(node);
Thomas Zimmermann 85b6c0
 		}
Thomas Zimmermann 85b6c0
 
Thomas Zimmermann 85b6c0
+		sysfb_disable();
Thomas Zimmermann 85b6c0
 		node = of_get_compatible_child(of_chosen, "simple-framebuffer");
Thomas Zimmermann 85b6c0
 		of_platform_device_create(node, NULL, NULL);
Thomas Zimmermann 85b6c0
 		of_node_put(node);
Thomas Zimmermann 85b6c0
-- 
Thomas Zimmermann 85b6c0
2.38.0
Thomas Zimmermann 85b6c0