diff options
| author | Christophe Leroy (CS GROUP) <chleroy@kernel.org> | 2026-07-30 14:29:36 +0200 |
|---|---|---|
| committer | Christophe Leroy (CS GROUP) <chleroy@kernel.org> | 2026-08-03 14:58:52 +0200 |
| commit | e2414b289c2b68afab361def612ca3791cd70d12 (patch) | |
| tree | 77abd5fdcb5e35ee934b891cc5bf7857eab6d613 /drivers | |
| parent | 21d055109b2352542ac293872ca9113b42b6c55e (diff) | |
| download | linux-e2414b289c2b68afab361def612ca3791cd70d12.tar.gz linux-e2414b289c2b68afab361def612ca3791cd70d12.zip | |
soc: fsl: qe: properly scan GPIO nodes at startup
Before commit 156460811def ("soc: fsl: qe: Change GPIO driver to a
proper platform driver") qe_add_gpiochips() was walking the device
tree to find all nodes with compatible "fsl,mpc8323-qe-pario-bank".
After that commit the discovery is handled by the platform core,
therefore it is necessary to call of_platform_default_populate() on
the par_io node.
Fixes: 156460811def ("soc: fsl: qe: Change GPIO driver to a proper platform driver")
Reviewed-by: Herve Codina <herve.codina@bootlin.com>
Link: https://lore.kernel.org/r/a1db12ef75bf881dd5fba893a37db0c8517eca1b.1785414349.git.chleroy@kernel.org
Signed-off-by: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/soc/fsl/qe/qe_io.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/soc/fsl/qe/qe_io.c b/drivers/soc/fsl/qe/qe_io.c index a5e2d0e5ab51..150913fce981 100644 --- a/drivers/soc/fsl/qe/qe_io.c +++ b/drivers/soc/fsl/qe/qe_io.c @@ -15,6 +15,7 @@ #include <linux/errno.h> #include <linux/module.h> #include <linux/ioport.h> +#include <linux/of_platform.h> #include <asm/io.h> #include <soc/fsl/qe/qe.h> @@ -184,3 +185,17 @@ int par_io_of_config(struct device_node *np) return 0; } EXPORT_SYMBOL(par_io_of_config); + +static int __init par_io_populate(void) +{ + struct device_node *np = of_find_node_by_type(NULL, "par_io"); + + if (!np) + return 0; + + of_platform_default_populate(np, NULL, NULL); + of_node_put(np); + + return 0; +} +arch_initcall(par_io_populate); |
