forked from rpms/plymouth
f1b9360914
Mark boot-duration file as %verify(not mode (rhbz#2122896)
106 lines
3.8 KiB
Diff
106 lines
3.8 KiB
Diff
From f775a38aefa3797d3697330aea78b341914e59f5 Mon Sep 17 00:00:00 2001
|
|
From: Hans de Goede <hdegoede@redhat.com>
|
|
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 <hdegoede@redhat.com>
|
|
---
|
|
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
|
|
|