From f775a38aefa3797d3697330aea78b341914e59f5 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 28 Sep 2022 15:14:00 +0200 Subject: [PATCH 5/6] ply-device-manager: Move verify_drm_device() higher up in the file Move verify_drm_device() higher up in ply-device-manager.c, this is a preparation patch for the next patch in this series. This is a pure move without any changes to the moved block. Signed-off-by: Hans de Goede --- src/libply-splash-core/ply-device-manager.c | 68 ++++++++++----------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/src/libply-splash-core/ply-device-manager.c b/src/libply-splash-core/ply-device-manager.c index cba2425..23b8b37 100644 --- a/src/libply-splash-core/ply-device-manager.c +++ b/src/libply-splash-core/ply-device-manager.c @@ -262,6 +262,40 @@ fb_device_has_drm_device (ply_device_manager_t *manager, return has_drm_device; } +static bool +verify_drm_device (struct udev_device *device) +{ + const char *id_path; + + /* + * Simple-framebuffer devices driven by simpledrm lack information + * like panel-rotation info and physical size, causing the splash + * to briefly render on its side / without HiDPI scaling, switching + * to the correct rendering when the native driver loads. + * To avoid this treat simpledrm devices as fbdev devices and only + * use them after the timeout. + */ + id_path = udev_device_get_property_value (device, "ID_PATH"); + if (!ply_string_has_prefix (id_path, "platform-simple-framebuffer")) + return true; /* Not a SimpleDRM device */ + + /* + * With nomodeset, no native drivers will load, so SimpleDRM devices + * should be used immediately. + */ + if (ply_kernel_command_line_has_argument ("nomodeset")) + return true; + + /* + * Some firmwares leave the panel black at boot. Allow enabling SimpleDRM + * use from the cmdline to show something to the user ASAP. + */ + if (ply_kernel_command_line_has_argument ("plymouth.use-simpledrm")) + return true; + + return false; +} + static bool create_devices_for_udev_device (ply_device_manager_t *manager, struct udev_device *device) @@ -404,40 +438,6 @@ on_drm_udev_add_or_change (ply_device_manager_t *manager, } } -static bool -verify_drm_device (struct udev_device *device) -{ - const char *id_path; - - /* - * Simple-framebuffer devices driven by simpledrm lack information - * like panel-rotation info and physical size, causing the splash - * to briefly render on its side / without HiDPI scaling, switching - * to the correct rendering when the native driver loads. - * To avoid this treat simpledrm devices as fbdev devices and only - * use them after the timeout. - */ - id_path = udev_device_get_property_value (device, "ID_PATH"); - if (!ply_string_has_prefix (id_path, "platform-simple-framebuffer")) - return true; /* Not a SimpleDRM device */ - - /* - * With nomodeset, no native drivers will load, so SimpleDRM devices - * should be used immediately. - */ - if (ply_kernel_command_line_has_argument ("nomodeset")) - return true; - - /* - * Some firmwares leave the panel black at boot. Allow enabling SimpleDRM - * use from the cmdline to show something to the user ASAP. - */ - if (ply_kernel_command_line_has_argument ("plymouth.use-simpledrm")) - return true; - - return false; -} - static bool verify_add_or_change (ply_device_manager_t *manager, const char *action, -- 2.37.3