From: Mario Limonciello <[email protected]> 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 <[email protected]> --- 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
