[PATCH v3 7/7] fbcon: Make a symlink to the device selected as primary

Mario Limonciello superm1 at kernel.org
Fri Jun 20 02:49:43 UTC 2025


From: Mario Limonciello <mario.limonciello at amd.com>

Knowing which device is the primary device can be useful for userspace
to make decisions on which device to start a display server.

Create a link to that device called 'primary_device'.

Signed-off-by: Mario Limonciello <mario.limonciello at amd.com>
---
 drivers/video/fbdev/core/fbcon.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c
index 2df48037688d1..46f21570723e5 100644
--- a/drivers/video/fbdev/core/fbcon.c
+++ b/drivers/video/fbdev/core/fbcon.c
@@ -2934,7 +2934,7 @@ static void fbcon_select_primary(struct fb_info *info)
 {
 	if (!map_override && primary_device == -1 &&
 	    video_is_primary_device(info->device)) {
-		int i;
+		int i, r;
 
 		printk(KERN_INFO "fbcon: %s (fb%i) is primary device\n",
 		       info->fix.id, info->node);
@@ -2949,6 +2949,10 @@ static void fbcon_select_primary(struct fb_info *info)
 			       first_fb_vc + 1, last_fb_vc + 1);
 			info_idx = primary_device;
 		}
+		r = sysfs_create_link(&fbcon_device->kobj, &info->device->kobj,
+				      "primary_device");
+		if (r)
+			pr_err("fbcon: Failed to link to primary device: %d\n", r);
 	}
 
 }
@@ -3376,6 +3380,10 @@ void __init fb_console_init(void)
 
 void __exit fb_console_exit(void)
 {
+#ifdef CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY
+	if (primary_device != -1)
+		sysfs_remove_link(&fbcon_device->kobj, "primary_device");
+#endif
 #ifdef CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER
 	console_lock();
 	if (deferred_takeover)
-- 
2.43.0



More information about the dri-devel mailing list