fbdev: Warn in hot-unplug workaround for framebuffers without device
authorThomas Zimmermann <tzimmermann@suse.de>
Tue, 19 Apr 2022 10:04:05 +0000 (12:04 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Wed, 20 Apr 2022 08:08:45 +0000 (10:08 +0200)
A workaround makes fbdev hot-unplugging work for framebuffers without
device. The only user for this feature was offb. As each OF framebuffer
now has an associated platform device, the workaround hould no longer
be triggered. Update it with a warning and rewrite the comment. Fbdev
drivers that trigger the hot-unplug workaround really need to be fixed.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Suggested-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220419100405.12600-3-tzimmermann@suse.de
drivers/video/fbdev/core/fbmem.c

index bc6ed75..8442747 100644 (file)
@@ -1577,14 +1577,12 @@ static void do_remove_conflicting_framebuffers(struct apertures_struct *a,
                         * allocate the memory range.
                         *
                         * If it's not a platform device, at least print a warning. A
-                        * fix would add code to remove the device from the system.
+                        * fix would add code to remove the device from the system. For
+                        * framebuffers without any Linux device, print a warning as
+                        * well.
                         */
                        if (!device) {
-                               /* TODO: Represent each OF framebuffer as its own
-                                * device in the device hierarchy. For now, offb
-                                * doesn't have such a device, so unregister the
-                                * framebuffer as before without warning.
-                                */
+                               pr_warn("fb%d: no device set\n", i);
                                do_unregister_framebuffer(registered_fb[i]);
                        } else if (dev_is_platform(device)) {
                                registered_fb[i]->forced_out = true;