drm/fb-helper: set fbi->fix.id in fill_info()
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 26 Mar 2019 13:19:49 +0000 (14:19 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 27 Mar 2019 08:55:27 +0000 (09:55 +0100)
Looking at the oldest/most popular drivers ${driver}drmfb seems to be
the standard, except i915.ko went with "inteldrmfb". I guess renaming
that for consistency won't hurt, it definitely confused me when I
started with kms 10 years ago.

I hope this never became uapi ... worst case drivers can overwrite it
after having called fill_info().

Since subsequent patches change this for some drivers later on in the
series, here's the exhaustive list of where all fix.id is used:
- /proc/fb which prints the minor number and fix.id name.
- per-fb sysfs name file
- getfix ioctl, which is used by fbset only to print out the name when
dumping information
- lots and lots of places in dmesg, anytime anything happens with an
fbdev really

I think minimal to 0 chances that changing this will screw up a config
script or something, since outside of informational message it's not
used by anything to identify which fbdev maps to which minor. After
all the last fbset release is from 1999, and that predates even devfs
I think.

v2: Rebase and amend commit message, thanks to Ilia for pointing out
that this needs to be spelled out.

Cc: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Noralf Trønnes <noralf@tronnes.org>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190326132008.11781-2-daniel.vetter@ffwll.ch
drivers/gpu/drm/drm_fb_helper.c

index e80c6a6..6f51629 100644 (file)
@@ -2128,6 +2128,9 @@ void drm_fb_helper_fill_info(struct fb_info *info,
        drm_fb_helper_fill_var(info, fb_helper,
                               sizes->fb_width, sizes->fb_height);
 
+       snprintf(info->fix.id, sizeof(info->fix.id), "%sdrmfb",
+                fb_helper->dev->driver->name);
+
 }
 EXPORT_SYMBOL(drm_fb_helper_fill_info);
 
@@ -3189,8 +3192,6 @@ int drm_fb_helper_generic_probe(struct drm_fb_helper *fb_helper,
                fbi->fix.smem_start =
                        page_to_phys(virt_to_page(fbi->screen_buffer));
 #endif
-       strcpy(fbi->fix.id, "DRM emulated");
-
        drm_fb_helper_fill_info(fbi, fb_helper, sizes);
 
        if (fb->funcs->dirty) {