Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4550fe63 authored by Viresh Kumar's avatar Viresh Kumar Committed by Rob Herring
Browse files

of: Don't create device for OPP tables



The OPP tables are present as separate nodes, whose phandle is used in
the "operating-points-v2" property of devices. Currently the OF core
creates a device for the OPP table unconditionally, which is not used by
any kernel code.

This patch creates another OF device_id table for the nodes which must
be skipped while creating devices and OPP is the only user of it for now.

Reported-by: default avatarStephen Boyd <sboyd@kernel.org>
Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: default avatarStephen Boyd <sboyd@kernel.org>
Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent 304a39b4
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -32,6 +32,11 @@ const struct of_device_id of_default_bus_match_table[] = {
	{} /* Empty terminated list */
};

static const struct of_device_id of_skipped_node_table[] = {
	{ .compatible = "operating-points-v2", },
	{} /* Empty terminated list */
};

static int of_dev_node_match(struct device *dev, void *data)
{
	return dev->of_node == data;
@@ -356,6 +361,12 @@ static int of_platform_bus_create(struct device_node *bus,
		return 0;
	}

	/* Skip nodes for which we don't want to create devices */
	if (unlikely(of_match_node(of_skipped_node_table, bus))) {
		pr_debug("%s() - skipping %pOF node\n", __func__, bus);
		return 0;
	}

	if (of_node_check_flag(bus, OF_POPULATED_BUS)) {
		pr_debug("%s() - skipping %pOF, already populated\n",
			__func__, bus);