Alexis Lothoré dc70eb868b
fpga: bridge: properly initialize bridge device before populating children
The current code path can lead to warnings because of uninitialized device,
which contains, as a consequence, uninitialized kobject. The uninitialized
device is passed to of_platform_populate, which will at some point, while
creating child device, try to get a reference on uninitialized parent,
resulting in the following warning:

kobject: '(null)' ((ptrval)): is not initialized, yet kobject_get() is
being called.

The warning is observed after migrating a kernel 5.10.x to 6.1.x.
Reverting commit 0d70af3c2530 ("fpga: bridge: Use standard dev_release for
class driver") seems to remove the warning.
This commit aggregates device_initialize() and device_add() into
device_register() but this new call is done AFTER of_platform_populate

Fixes: 0d70af3c2530 ("fpga: bridge: Use standard dev_release for class driver")
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Acked-by: Xu Yilun <yilun.xu@intel.com>
Link: https://lore.kernel.org/r/20230404133102.2837535-2-alexis.lothore@bootlin.com
Signed-off-by: Xu Yilun <yilun.xu@intel.com>
2023-04-07 00:10:04 +08:00
..
2023-03-03 10:36:01 -08:00
2023-03-03 10:21:39 -08:00
2023-02-27 10:04:49 -08:00
2023-02-27 10:04:49 -08:00
2023-02-25 09:19:23 -08:00
2023-02-25 09:19:23 -08:00
2023-02-24 17:18:54 -08:00
2023-02-24 12:58:55 -08:00
2023-02-27 10:04:49 -08:00
2023-02-24 12:58:55 -08:00
2023-03-02 15:08:54 -08:00
2023-02-24 12:58:55 -08:00
2023-02-24 12:58:55 -08:00
2023-02-24 12:58:55 -08:00
2023-02-23 15:03:05 -08:00
2023-02-24 12:58:55 -08:00
2023-03-03 21:00:54 +01:00
2023-02-28 16:05:01 -08:00
2023-02-21 12:13:58 -08:00
2023-02-24 15:11:03 -08:00
2023-02-27 10:04:49 -08:00
2023-02-20 15:49:56 -08:00
2023-02-27 10:04:49 -08:00
2023-02-24 12:58:55 -08:00
2023-02-25 11:30:21 -08:00
2023-02-23 15:09:31 -08:00
2023-02-25 11:00:06 -08:00
2023-02-27 10:04:49 -08:00
2023-02-27 10:04:49 -08:00
2023-02-27 09:47:26 -08:00
2023-02-27 10:04:49 -08:00
2023-02-27 10:04:49 -08:00
2023-02-25 11:48:02 -08:00
2023-03-03 10:21:39 -08:00
2023-02-24 13:40:13 -08:00
2023-02-24 12:58:55 -08:00
2023-02-27 10:04:49 -08:00
2023-02-27 10:04:49 -08:00
2023-02-20 12:26:35 +01:00
2023-03-02 09:21:25 -08:00
2023-02-27 10:04:49 -08:00
2023-02-26 12:10:28 -08:00
2023-03-03 09:15:50 -08:00
2023-03-03 14:41:50 -08:00
2023-03-03 14:41:50 -08:00
2023-03-01 09:44:22 -08:00
2023-02-27 10:04:49 -08:00
2023-02-24 17:29:52 -08:00
2023-03-02 09:25:38 -08:00
2023-02-26 11:47:26 -08:00
2023-02-24 12:58:55 -08:00
2023-03-03 14:41:50 -08:00
2023-02-24 17:22:11 -08:00
2023-02-25 11:48:02 -08:00
2023-02-25 11:52:57 -08:00
2023-02-25 11:48:02 -08:00
2023-02-25 11:48:02 -08:00
2023-02-24 12:58:55 -08:00
2023-03-02 11:12:01 -08:00
2023-02-24 12:58:55 -08:00
2023-02-26 11:53:25 -08:00