Re: [PATCH v2 1/3] of: Move simple-framebuffer device handling from simplefb to of

From: Thomas Zimmermann
Date: Tue Dec 07 2021 - 04:03:52 EST




Am 07.12.21 um 10:02 schrieb Thomas Zimmermann:
Hi

Am 07.12.21 um 08:29 schrieb Hector Martin:
This code is required for both simplefb and simpledrm, so let's move it
into the OF core instead of having it as an ad-hoc initcall in the
drivers.

Signed-off-by: Hector Martin <marcan@xxxxxxxxx>

Acked-by: Thomas Zimmermann <tzimmermann@xxxxxxx>

Well, please don't take this as a review. :)


This looks much better than before. Thank you.

---
  drivers/of/platform.c          |  5 +++++
  drivers/video/fbdev/simplefb.c | 21 +--------------------
  2 files changed, 6 insertions(+), 20 deletions(-)

diff --git a/drivers/of/platform.c b/drivers/of/platform.c
index b3faf89744aa..e097f40b03c0 100644
--- a/drivers/of/platform.c
+++ b/drivers/of/platform.c
@@ -540,6 +540,11 @@ static int __init of_platform_default_populate_init(void)
          of_node_put(node);
      }
+    for_each_child_of_node(of_chosen, node) {
+        if (of_device_is_compatible(node, "simple-framebuffer"))
+            of_platform_device_create(node, NULL, NULL);
+    }
+
      /* Populate everything else. */
      of_platform_default_populate(NULL, NULL, NULL);
diff --git a/drivers/video/fbdev/simplefb.c b/drivers/video/fbdev/simplefb.c
index b63074fd892e..57541887188b 100644
--- a/drivers/video/fbdev/simplefb.c
+++ b/drivers/video/fbdev/simplefb.c
@@ -541,26 +541,7 @@ static struct platform_driver simplefb_driver = {
      .remove = simplefb_remove,
  };
-static int __init simplefb_init(void)
-{
-    int ret;
-    struct device_node *np;
-
-    ret = platform_driver_register(&simplefb_driver);
-    if (ret)
-        return ret;
-
-    if (IS_ENABLED(CONFIG_OF_ADDRESS) && of_chosen) {
-        for_each_child_of_node(of_chosen, np) {
-            if (of_device_is_compatible(np, "simple-framebuffer"))
-                of_platform_device_create(np, NULL, NULL);
-        }
-    }
-
-    return 0;
-}
-
-fs_initcall(simplefb_init);
+module_platform_driver(simplefb_driver);
  MODULE_AUTHOR("Stephen Warren <swarren@xxxxxxxxxxxxx>");
  MODULE_DESCRIPTION("Simple framebuffer driver");



--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev

Attachment: OpenPGP_signature
Description: OpenPGP digital signature