| From 505c0f30fead58509d08abb5ae463dff03e94bc8 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 15 Dec 2025 16:05:50 -0300 |
| Subject: fpga: dfl: use subsys_initcall to allow built-in drivers to be added |
| |
| From: Thadeu Lima de Souza Cascardo <cascardo@igalia.com> |
| |
| [ Upstream commit 267f53140c9d0bf270bbe0148082e9b8e5011273 ] |
| |
| The dfl code adds a bus. If it is built-in and there is a built-in driver |
| as well, the dfl module_init may be called after the driver module_init, |
| leading to a failure to register the driver as the bus has not been added |
| yet. |
| |
| Use subsys_initcall, which guarantees it will be called before the drivers |
| init code. |
| |
| Without the fix, we see failures like this: |
| |
| [ 0.479475] Driver 'intel-m10-bmc' was unable to register with bus_type 'dfl' because the bus was not initialized. |
| |
| Cc: stable@vger.kernel.org |
| Fixes: 9ba3a0aa09fe ("fpga: dfl: create a dfl bus type to support DFL devices") |
| Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@igalia.com> |
| Link: https://lore.kernel.org/r/20251215-dfl_subsys-v1-1-21807bad6b10@igalia.com |
| Reviewed-by: Xu Yilun <yilun.xu@intel.com> |
| Signed-off-by: Xu Yilun <yilun.xu@linux.intel.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/fpga/dfl.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/fpga/dfl.c b/drivers/fpga/dfl.c |
| index b9aae85ba9308..5dbea56083014 100644 |
| --- a/drivers/fpga/dfl.c |
| +++ b/drivers/fpga/dfl.c |
| @@ -1886,7 +1886,7 @@ static void __exit dfl_fpga_exit(void) |
| bus_unregister(&dfl_bus_type); |
| } |
| |
| -module_init(dfl_fpga_init); |
| +subsys_initcall(dfl_fpga_init); |
| module_exit(dfl_fpga_exit); |
| |
| MODULE_DESCRIPTION("FPGA Device Feature List (DFL) Support"); |
| -- |
| 2.51.0 |
| |