Re: [PATCH] of: Don't create platform device for OPP tables
On Tue, Apr 10, 2018 at 4:05 AM, Viresh Kumar wrote: > 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 platform device for the OPP table unconditionally, which is > not used by any kernel code. > > Skip creating OPP table platform devices. > > Reported-by: Stephen Boyd > Signed-off-by: Viresh Kumar > --- > drivers/of/platform.c | 6 ++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/of/platform.c b/drivers/of/platform.c > index c00d81dfac0b..aaae5d90433d 100644 > --- a/drivers/of/platform.c > +++ b/drivers/of/platform.c > @@ -356,6 +356,12 @@ static int of_platform_bus_create(struct device_node > *bus, > return 0; > } > > + /* OPP tables have separate nodes, but we don't want devices for them > */ > + if (unlikely(of_device_is_compatible(bus, "operating-points-v2"))) { Can you make this a match table instead. I could imagine we may have some other cases to add. > + pr_debug("%s() - skipping OPP node %pOF\n", __func__, bus); > + return 0; > + } > + > if (of_node_check_flag(bus, OF_POPULATED_BUS)) { > pr_debug("%s() - skipping %pOF, already populated\n", > __func__, bus); > -- > 2.15.0.194.g9af6a3dea062 >
Re: [PATCH] of: Don't create platform device for OPP tables
Quoting Viresh Kumar (2018-04-10 02:05:22) > 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 platform device for the OPP table unconditionally, which is > not used by any kernel code. > > Skip creating OPP table platform devices. > > Reported-by: Stephen Boyd > Signed-off-by: Viresh Kumar > --- Reviewed-by: Stephen Boyd
[PATCH] of: Don't create platform 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 platform device for the OPP table unconditionally, which is not used by any kernel code. Skip creating OPP table platform devices. Reported-by: Stephen Boyd Signed-off-by: Viresh Kumar --- drivers/of/platform.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/drivers/of/platform.c b/drivers/of/platform.c index c00d81dfac0b..aaae5d90433d 100644 --- a/drivers/of/platform.c +++ b/drivers/of/platform.c @@ -356,6 +356,12 @@ static int of_platform_bus_create(struct device_node *bus, return 0; } + /* OPP tables have separate nodes, but we don't want devices for them */ + if (unlikely(of_device_is_compatible(bus, "operating-points-v2"))) { + pr_debug("%s() - skipping OPP node %pOF\n", __func__, bus); + return 0; + } + if (of_node_check_flag(bus, OF_POPULATED_BUS)) { pr_debug("%s() - skipping %pOF, already populated\n", __func__, bus); -- 2.15.0.194.g9af6a3dea062