Re: [PATCH V2] cpufreq: cpufreq-cpu0: defer probe when regulator is not ready

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

 



On 30 April 2013 20:43, Nishanth Menon <nm@xxxxxx> wrote:
> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>

My earlier Ack was a waste of money :)

> diff --git a/drivers/cpufreq/cpufreq-cpu0.c b/drivers/cpufreq/cpufreq-cpu0.c
> index 37d23a0..e472167 100644
> --- a/drivers/cpufreq/cpufreq-cpu0.c
> +++ b/drivers/cpufreq/cpufreq-cpu0.c
> @@ -200,6 +200,20 @@ static int cpu0_cpufreq_probe(struct platform_device *pdev)
>         cpu_dev = &pdev->dev;
>         cpu_dev->of_node = np;
>
> +       cpu_reg = devm_regulator_get(cpu_dev, "cpu0");
> +       if (IS_ERR(cpu_reg)) {
> +               /*
> +                * If cpu0 regulator supply node is present, but regulator is
> +                * not yet registered, we should try defering probe.
> +                */
> +               if (PTR_ERR(cpu_reg) == -EPROBE_DEFER) {
> +                       dev_err(cpu_dev, "cpu0 regulator not ready, retry\n");
> +                       return -EPROBE_DEFER;

You need to do following here:

	of_node_put(np);
	of_node_put(parent);

better mark ret = -EPROBE_DEFER;
and do a goto out_put_node.
--
To unsubscribe from this list: send the line "unsubscribe cpufreq" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Devel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Forum]     [Linux SCSI]

  Powered by Linux