summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorHans de Goede <johannes.goede@oss.qualcomm.com>2025-12-21 17:57:40 +0100
committerHelge Deller <deller@gmx.de>2026-02-14 11:07:12 +0100
commit68eeb0871e986ae5462439dae881e3a27bcef85f (patch)
tree285d66aadc089693d06e9747b9d5b4118ec6c49d /include/linux
parent120adae7b42faa641179270c067864544a50ab69 (diff)
fbdev: Use device_create_with_groups() to fix sysfs groups registration race
The fbdev sysfs attributes are registered after sending the uevent for the device creation, leaving a race window where e.g. udev rules may not be able to access the sysfs attributes because the registration is not done yet. Fix this by switching to device_create_with_groups(). This also results in a nice cleanup. After switching to device_create_with_groups() all that is left of fb_init_device() is setting the drvdata and that can be passed to device_create[_with_groups]() too. After which fb_init_device() can be completely removed. Dropping fb_init_device() + fb_cleanup_device() in turn allows removing fb_info.class_flag as they were the only user of this field. Fixes: 5fc830d6aca1 ("fbdev: Register sysfs groups through device_add_group") Cc: stable@vger.kernel.org Cc: Shixiong Ou <oushixiong@kylinos.cn> Signed-off-by: Hans de Goede <johannes.goede@oss.qualcomm.com> Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/fb.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/include/linux/fb.h b/include/linux/fb.h
index 65fb70382675..aaa50b81f1d2 100644
--- a/include/linux/fb.h
+++ b/include/linux/fb.h
@@ -493,7 +493,6 @@ struct fb_info {
#if defined(CONFIG_FB_DEVICE)
struct device *dev; /* This is this fb device */
#endif
- int class_flag; /* private sysfs flags */
#ifdef CONFIG_FB_TILEBLITTING
struct fb_tile_ops *tileops; /* Tile Blitting */
#endif