Commit 2f92ea21 authored by Hector Martin's avatar Hector Martin Committed by Thomas Zimmermann
Browse files

of: Move simple-framebuffer device handling from simplefb to of



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: default avatarHector Martin <marcan@marcan.st>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Acked-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20211212062407.138309-2-marcan@marcan.st
parent 938db276
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -540,6 +540,10 @@ static int __init of_platform_default_populate_init(void)
		of_node_put(node);
	}

	node = of_get_compatible_child(of_chosen, "simple-framebuffer");
	of_platform_device_create(node, NULL, NULL);
	of_node_put(node);

	/* Populate everything else. */
	of_platform_default_populate(NULL, NULL, NULL);

+1 −20
Original line number Diff line number Diff line
@@ -530,26 +530,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@wwwdotorg.org>");
MODULE_DESCRIPTION("Simple framebuffer driver");