summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/40x
diff options
context:
space:
mode:
authorChristophe Leroy <christophe.leroy@csgroup.eu>2023-12-14 21:31:51 +1100
committerMichael Ellerman <mpe@ellerman.id.au>2024-03-03 22:20:29 +1100
commit28da734d58c8d0113d0ac4f59880d94c9f249564 (patch)
tree7356f6a4f7094f5d0fec6eafac40319ec580adec /arch/powerpc/platforms/40x
parent1ac8205f907517a306b661212496fedce79d7cc5 (diff)
downloadlinux-stable-28da734d58c8d0113d0ac4f59880d94c9f249564.tar.gz
linux-stable-28da734d58c8d0113d0ac4f59880d94c9f249564.tar.bz2
linux-stable-28da734d58c8d0113d0ac4f59880d94c9f249564.zip
powerpc/machdep: Define 'compatibles' property in ppc_md and use it
Most probe functions that do not use the 'compatible' string do nothing else than checking whether the machine is compatible with one of the strings in a NULL terminated table of strings. Define that table of strings in ppc_md structure and check it directly from probe_machine() instead of using ppc_md.probe() for that. Keep checking in ppc_md.probe() only for more complex probing. All .compatible could be replaced with a single element NULL terminated list but that's not worth the churn. Can be do incrementaly in follow-up patches. Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20231214103152.12269-4-mpe@ellerman.id.au
Diffstat (limited to 'arch/powerpc/platforms/40x')
-rw-r--r--arch/powerpc/platforms/40x/ppc40x_simple.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/arch/powerpc/platforms/40x/ppc40x_simple.c b/arch/powerpc/platforms/40x/ppc40x_simple.c
index e454e9d2eff1..294ab2728588 100644
--- a/arch/powerpc/platforms/40x/ppc40x_simple.c
+++ b/arch/powerpc/platforms/40x/ppc40x_simple.c
@@ -59,16 +59,13 @@ static const char * const board[] __initconst = {
static int __init ppc40x_probe(void)
{
- if (of_device_compatible_match(of_root, board)) {
- pci_set_flags(PCI_REASSIGN_ALL_RSRC);
- return 1;
- }
-
- return 0;
+ pci_set_flags(PCI_REASSIGN_ALL_RSRC);
+ return 1;
}
define_machine(ppc40x_simple) {
.name = "PowerPC 40x Platform",
+ .compatibles = board,
.probe = ppc40x_probe,
.progress = udbg_progress,
.init_IRQ = uic_init_tree,