Hi! > From: Viresh Kumar > > commit d54974c2513f487e9e70fbdc79c5da51c53e23da upstream. > > OPP core has got almost everything now to manage device's OPP > transitions, the only thing left is device's clk. Get that as well. > @@ -620,6 +622,15 @@ static struct device_opp *_add_device_opp(struct device *dev) > of_node_put(np); > } > > + /* Find clk for the device */ > + dev_opp->clk = clk_get(dev, NULL); > + if (IS_ERR(dev_opp->clk)) { > + ret = PTR_ERR(dev_opp->clk); > + if (ret != -EPROBE_DEFER) > + dev_dbg(dev, "%s: Couldn't find clock: %d\n", __func__, > + ret); > + } > + > srcu_init_notifier_head(&dev_opp->srcu_head); > INIT_LIST_HEAD(&dev_opp->opp_list); > Strange. Same code exists in mainline (drivers/opp/core.c, function name changed to _allocate_opp_table), and ret is directly overwritten there. That's definitely not usual way of handling -EPROBE_DEFER. Best regards, Pavel -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany