diff options
author | Hans de Goede <hdegoede@redhat.com> | 2014-11-14 07:26:53 -0500 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2014-11-14 08:29:04 -0500 |
commit | 89c95001c00089836415aa7a78848ec2dec9f922 (patch) | |
tree | 9ce02a596c7f6b4c2f2209e70b80c70d456a474e /drivers/video | |
parent | 6d09dc6b74caaca83e32e67f2454406041d58fb0 (diff) |
simplefb: Add support for enumerating simplefb dt nodes in /chosen
Update simplefb to support the new preferred location for simplefb dt nodes
under /chosen.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/fbdev/simplefb.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/drivers/video/fbdev/simplefb.c b/drivers/video/fbdev/simplefb.c index d19294635a42..74c5edd38518 100644 --- a/drivers/video/fbdev/simplefb.c +++ b/drivers/video/fbdev/simplefb.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <linux/platform_data/simplefb.h> | 27 | #include <linux/platform_data/simplefb.h> |
28 | #include <linux/platform_device.h> | 28 | #include <linux/platform_device.h> |
29 | #include <linux/clk-provider.h> | 29 | #include <linux/clk-provider.h> |
30 | #include <linux/of_platform.h> | ||
30 | 31 | ||
31 | static struct fb_fix_screeninfo simplefb_fix = { | 32 | static struct fb_fix_screeninfo simplefb_fix = { |
32 | .id = "simple", | 33 | .id = "simple", |
@@ -392,7 +393,27 @@ static struct platform_driver simplefb_driver = { | |||
392 | .probe = simplefb_probe, | 393 | .probe = simplefb_probe, |
393 | .remove = simplefb_remove, | 394 | .remove = simplefb_remove, |
394 | }; | 395 | }; |
395 | module_platform_driver(simplefb_driver); | 396 | |
397 | static int __init simplefb_init(void) | ||
398 | { | ||
399 | int ret; | ||
400 | struct device_node *np; | ||
401 | |||
402 | ret = platform_driver_register(&simplefb_driver); | ||
403 | if (ret) | ||
404 | return ret; | ||
405 | |||
406 | if (IS_ENABLED(CONFIG_OF) && of_chosen) { | ||
407 | for_each_child_of_node(of_chosen, np) { | ||
408 | if (of_device_is_compatible(np, "simple-framebuffer")) | ||
409 | of_platform_device_create(np, NULL, NULL); | ||
410 | } | ||
411 | } | ||
412 | |||
413 | return 0; | ||
414 | } | ||
415 | |||
416 | module_init(simplefb_init); | ||
396 | 417 | ||
397 | MODULE_AUTHOR("Stephen Warren <swarren@wwwdotorg.org>"); | 418 | MODULE_AUTHOR("Stephen Warren <swarren@wwwdotorg.org>"); |
398 | MODULE_DESCRIPTION("Simple framebuffer driver"); | 419 | MODULE_DESCRIPTION("Simple framebuffer driver"); |