[PATCH v2 1/5] Samsung SoC ADC: use regulator (VDD for ADC).

Mark Brown broonie at opensource.wolfsonmicro.com
Tue Jun 21 06:43:57 EDT 2011


On Tue, Jun 21, 2011 at 10:58:43AM +0900, MyungJoo Ham wrote:

> +	ret = regulator_enable(adc->vdd);
> +	if (!ret)
> +		goto err_ioremap;
> +

This test looks the wrong way round?  regulator_enable() should return 0
on success but this will treat that as an error.

>  static int s3c_adc_resume(struct platform_device *pdev)
>  {
>  	struct adc_device *adc = platform_get_drvdata(pdev);
> +	int ret;
>  
> +	ret = regulator_enable(adc->vdd);
>  	clk_enable(adc->clk);
>  	enable_irq(adc->irq);
>  
>  	writel(adc->prescale | S3C2410_ADCCON_PRSCEN,
>  	       adc->regs + S3C2410_ADCCON);
>  
> -	return 0;
> +	return ret;

Seems better to return as soon as we notice the error, no point in
starting anything else up if we don't have power.



More information about the linux-arm-kernel mailing list