Re: [PATCH] PM / OPP: discard duplicate OPP additions

From: Viresh Kumar
Date: Tue May 13 2014 - 04:23:01 EST


On 13 May 2014 13:11, [Chander Kashyap <chander.kashyap@xxxxxxxxxx> wrote:

What happened to your name ? "["

> From: Chander Kashyap <k.chander@xxxxxxxxxxx>
>
> It may be possible to unregister and re-register the cpufreq driver.
> One such example is arm big-little IKS cpufreq driver. While
> re-registering the driver, same OPPs may get added again.
>
> This patch detects the duplicacy and discards them.
>
> Signed-off-by: Chander Kashyap <k.chander@xxxxxxxxxxx>
> Signed-off-by: Inderpal Singh <inderpal.s@xxxxxxxxxxx>
> ---
> drivers/base/power/opp.c | 28 +++++++++++++++++++---------
> 1 file changed, 19 insertions(+), 9 deletions(-)

I wouldn't say that this approach is particularly bad or wrong, but what
about this instead?

diff --git a/drivers/base/power/opp.c b/drivers/base/power/opp.c
index 2553867..7efdaf3 100644
--- a/drivers/base/power/opp.c
+++ b/drivers/base/power/opp.c
@@ -713,6 +713,11 @@ int of_init_opp_table(struct device *dev)
const __be32 *val;
int nr;

+ if (!IS_ERR(find_device_opp(dev))) {
+ dev_warn("%s: opp table already exists\n", __func__);
+ return -EEXIST;
+ }
+
prop = of_find_property(dev->of_node, "operating-points", NULL);
if (!prop)
return -ENODEV;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/