Hans de Goede
68eeb0871e
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: 5fc830d6ac ("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 >
2026-02-14 11:07:12 +01:00
..
2026-02-11 13:44:47 +01:00
2026-02-05 11:58:40 +01:00
2026-02-04 22:00:42 +01:00
2026-01-26 13:23:52 +01:00
2026-02-11 11:43:00 -08:00
2026-02-09 14:43:47 -08:00
2026-01-27 10:13:37 +01:00
2026-01-31 00:02:24 +01:00
2026-02-13 11:31:15 -08:00
2026-02-08 00:13:33 -08:00
2026-02-11 10:53:39 -08:00
2026-02-05 18:29:04 -08:00
2026-01-27 13:42:20 +01:00
2026-01-29 20:21:41 +01:00
2026-02-13 15:39:15 -08:00
2026-02-05 00:07:58 +00:00
2026-02-10 19:01:45 -08:00
2026-02-11 11:43:00 -08:00
2026-02-13 15:06:58 -08:00
2026-02-12 17:49:33 -08:00
2026-02-11 19:31:52 -08:00
2026-01-27 15:31:42 +01:00
2026-01-27 15:31:42 +01:00
2026-02-11 19:31:52 -08:00
2026-01-31 14:22:36 -08:00
2026-02-09 18:14:52 -08:00
2026-01-28 05:16:39 -07:00
2026-02-03 07:45:36 -07:00
2026-02-06 14:47:59 -08:00
2026-01-27 18:39:58 -08:00
2026-02-04 13:35:28 -08:00
2026-01-31 13:51:04 -08:00
2026-02-05 14:10:00 -08:00
2026-01-31 16:16:07 -08:00
2026-02-11 13:20:50 -08:00
2026-01-28 20:45:24 +01:00
2026-02-12 11:32:37 -08:00
2026-02-12 12:13:01 -08:00
2026-01-31 16:16:04 -08:00
2026-01-28 20:45:24 +01:00
2026-02-10 17:02:23 -08:00
2026-02-11 19:31:52 -08:00
2026-01-29 02:36:32 -07:00
2026-02-03 15:23:33 +01:00
2026-02-11 13:20:50 -08:00
2026-01-31 14:22:47 -08:00
2026-01-31 16:16:06 -08:00
2026-02-12 15:52:39 -08:00
2026-02-13 14:51:39 -08:00
2026-02-05 15:57:46 +01:00
2026-01-30 15:40:05 +01:00
2026-02-14 11:07:12 +01:00
2026-02-09 15:13:05 -08:00
2026-02-12 12:13:01 -08:00
2026-02-09 16:58:28 -08:00
2026-02-04 11:31:54 -08:00
2026-02-12 12:13:01 -08:00
2026-01-26 20:02:28 -08:00
2026-01-31 10:52:31 +08:00
2026-02-10 16:41:59 -08:00
2026-01-26 20:02:20 -08:00
2026-02-06 18:52:22 +08:00
2026-02-02 10:11:18 +01:00
2026-02-02 10:01:44 +01:00
2026-02-02 10:11:07 +01:00
2026-02-02 10:11:18 +01:00
2026-02-05 16:33:52 +01:00
2026-01-26 19:07:10 -08:00
2026-01-25 14:45:14 -08:00
2026-01-26 19:07:15 -08:00
2026-02-10 13:39:37 -08:00
2026-02-09 17:31:17 -08:00
2026-02-06 07:29:14 -07:00
2026-02-09 18:14:52 -08:00
2026-02-12 16:33:05 -08:00
2026-02-10 20:57:49 -08:00
2026-02-10 16:30:29 -08:00
2026-01-27 15:31:41 +01:00
2026-01-26 19:03:45 -08:00
2026-01-31 16:16:06 -08:00
2026-01-31 16:16:04 -08:00
2026-01-31 14:22:30 -08:00
2026-02-03 15:23:35 +01:00
2026-02-11 18:52:27 +01:00
2026-02-12 17:12:43 -08:00
2026-02-08 00:13:32 -08:00
2026-02-05 08:00:44 -08:00
2026-02-08 00:13:33 -08:00
2026-01-28 20:45:25 +01:00
2026-01-28 20:45:24 +01:00
2026-01-26 19:07:14 -08:00
2026-02-11 11:27:58 +01:00
2026-02-12 11:32:37 -08:00
2026-01-26 19:03:47 -08:00
2026-01-26 19:03:48 -08:00
2026-01-31 14:22:51 -08:00
2026-02-12 19:17:44 -08:00
2026-01-31 14:22:51 -08:00
2026-01-26 20:02:27 -08:00
2026-02-03 15:23:35 +01:00
2026-01-31 14:22:38 -08:00
2026-02-03 12:46:55 +01:00
2026-02-12 12:13:01 -08:00
2026-02-12 12:13:01 -08:00
2026-02-10 16:30:29 -08:00
2026-01-28 20:45:25 +01:00
2026-01-25 13:20:46 -08:00
2026-01-29 09:48:33 -05:00
2026-01-30 16:49:15 -05:00
2026-01-30 16:49:15 -05:00
2026-01-26 20:02:36 -08:00
2026-01-26 12:26:01 +01:00
2026-02-03 20:58:12 -06:00
2026-01-30 11:34:34 +00:00
2026-02-11 13:40:35 -08:00
2026-01-26 20:02:35 -08:00
2026-01-31 14:22:42 -08:00
2026-02-03 08:21:26 -08:00
2026-02-11 19:31:52 -08:00
2026-01-28 19:15:58 +05:30
2026-01-28 19:15:58 +05:30
2026-02-12 16:33:05 -08:00
2026-02-03 15:23:33 +01:00
2026-02-11 12:45:40 -05:00
2026-01-26 20:02:35 -08:00
2026-02-04 13:25:09 +01:00
2026-02-10 12:28:44 -08:00
2026-01-27 12:46:10 +00:00
2026-01-26 20:02:33 -08:00
2026-02-10 12:50:10 -08:00
2026-02-05 09:43:48 +01:00
2026-01-28 20:45:25 +01:00
2026-01-28 20:45:25 +01:00
2026-01-28 20:45:25 +01:00
2026-02-12 12:13:01 -08:00
2026-02-06 10:07:22 +01:00
2026-01-28 20:45:25 +01:00
2026-01-25 13:18:52 -08:00
2026-02-05 09:54:08 -08:00
2026-01-27 09:11:30 -08:00
2026-02-11 14:12:50 -08:00
2026-02-03 08:21:26 -08:00
2026-01-28 20:45:25 +01:00
2026-01-28 20:45:25 +01:00
2026-02-04 20:55:48 -08:00
2026-02-11 10:14:35 +01:00
2026-01-31 14:22:57 -08:00
2026-02-10 17:02:23 -08:00
2026-01-31 16:16:05 -08:00
2026-02-03 15:13:25 +01:00
2026-01-28 22:24:58 +01:00
2026-02-04 13:22:39 -08:00
2026-01-26 17:00:50 -05:00
2026-01-31 16:16:06 -08:00
2026-01-26 17:00:50 -05:00
2026-01-30 10:44:11 -05:00
2026-02-12 15:43:02 -08:00
2026-02-12 12:13:01 -08:00
2026-02-06 13:34:55 +01:00
2026-01-28 05:16:39 -07:00
2026-01-28 15:32:17 -05:00
2026-01-27 10:45:38 +01:00
2026-01-28 15:32:16 -05:00
2026-01-31 14:22:36 -08:00
2026-02-12 11:32:37 -08:00
2026-02-03 15:23:34 +01:00
2026-02-12 12:13:01 -08:00
2026-01-30 18:26:59 -08:00
2026-01-26 20:02:32 -08:00