[PATCH 14/19] powerpc: mpc83xx: Switch to of_platform_populate

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: "J. Neuschäfer" <j.ne@xxxxxxxxxx>

Quoting from drivers/of/platform.c:

> of_platform_populate() - [...]
> Similar to of_platform_bus_probe(), this function walks the device
> tree and creates devices from nodes.  It differs in that it follows
> the modern convention of requiring all device nodes to have a
> 'compatible' property, and it is suitable for creating devices which
> are children of the root node (of_platform_bus_probe will only create
> children of the root which are selected by the @matches argument).

This is useful for new board ports because it means that the C code does
not have to anticipate every node that is placed directly under the root.

As a consequence, the of_bus_ids list can be much shorter, and I've
trimmed it to the necessary parts:

 - device-type = "soc" and compatible = "simple-bus" for the SoC bus
 - compatible = "gianfar" for the Ethernet controller (TSEC), which
   may contain an MDIO bus, which needs to be probed, as a subnode

Signed-off-by: J. Neuschäfer <j.ne@xxxxxxxxxx>
---
 arch/powerpc/platforms/83xx/misc.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/arch/powerpc/platforms/83xx/misc.c b/arch/powerpc/platforms/83xx/misc.c
index 1135c1ab923cc120f377a0d98767fef686cad1fe..bf522ee007bbb1429233355f668fc8563d8ca4e2 100644
--- a/arch/powerpc/platforms/83xx/misc.c
+++ b/arch/powerpc/platforms/83xx/misc.c
@@ -94,18 +94,14 @@ void __init mpc83xx_ipic_init_IRQ(void)
 
 static const struct of_device_id of_bus_ids[] __initconst = {
 	{ .type = "soc", },
-	{ .compatible = "soc", },
 	{ .compatible = "simple-bus" },
 	{ .compatible = "gianfar" },
-	{ .compatible = "gpio-leds", },
-	{ .type = "qe", },
-	{ .compatible = "fsl,qe", },
 	{},
 };
 
 int __init mpc83xx_declare_of_platform_devices(void)
 {
-	of_platform_bus_probe(NULL, of_bus_ids, NULL);
+	of_platform_populate(NULL, of_bus_ids, NULL, NULL);
 	return 0;
 }
 

-- 
2.45.2






[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux