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

Thomas Zimmermann tzimmermann at suse.de
Fri Jun 20 08:47:09 UTC 2025


Hi

Am 20.06.25 um 04:49 schrieb Mario Limonciello:
> 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

You cannot rely on this, as fbcon might be disabled entirely.

Best regards
Thomas

> @@ -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)

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)



More information about the dri-devel mailing list