Hi Josh

Right, sorry, I missed this one, I somehow developed an idea, that it has 
been merged into the original patch, adding ISI_MCK handling. Now, I also 
notice one detail, that we could improve:

On Tue, 10 Jan 2012, Josh Wu wrote:

> Signed-off-by: Josh Wu <[email protected]>
> Acked-by: Nicolas Ferre <[email protected]>
> ---
> Hi, Mauro
> 
> The first patch of this serie, [PATCH 1/2 v3] V4L: atmel-isi: add code to 
> enable/disable ISI_MCK clock, is already queued in media tree. 
> But this patch (the second one of this serie) is not acked yet. Would it be 
> ok to for you to ack this patch?
> 
> Best Regards,
> Josh Wu
> 
> v2: made the label name to be consistent.
> 
>  drivers/media/video/atmel-isi.c |   15 +++++++++++++++
>  1 files changed, 15 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/media/video/atmel-isi.c b/drivers/media/video/atmel-isi.c
> index ea4eef4..91ebcfb 100644
> --- a/drivers/media/video/atmel-isi.c
> +++ b/drivers/media/video/atmel-isi.c
> @@ -922,7 +922,9 @@ static int __devexit atmel_isi_remove(struct 
> platform_device *pdev)
>                       isi->fb_descriptors_phys);
>  
>       iounmap(isi->regs);
> +     clk_unprepare(isi->mck);
>       clk_put(isi->mck);
> +     clk_unprepare(isi->pclk);
>       clk_put(isi->pclk);
>       kfree(isi);
>  
> @@ -955,6 +957,12 @@ static int __devinit atmel_isi_probe(struct 
> platform_device *pdev)
>       if (IS_ERR(pclk))
>               return PTR_ERR(pclk);
>  
> +     ret = clk_prepare(pclk);
> +     if (ret) {
> +             clk_put(pclk);
> +             return ret;

Don't think it's a good idea here. You already have clk_put(pclk) on the 
error handling path below. So, just put a "goto err_clk_prepare_pclk" here 
and the respective error below.

Thanks
Guennadi

> +     }
> +
>       isi = kzalloc(sizeof(struct atmel_isi), GFP_KERNEL);
>       if (!isi) {
>               ret = -ENOMEM;
> @@ -978,6 +986,10 @@ static int __devinit atmel_isi_probe(struct 
> platform_device *pdev)
>               goto err_clk_get;
>       }
>  
> +     ret = clk_prepare(isi->mck);
> +     if (ret)
> +             goto err_clk_prepare_mck;
> +
>       /* Set ISI_MCK's frequency, it should be faster than pixel clock */
>       ret = clk_set_rate(isi->mck, pdata->mck_hz);
>       if (ret < 0)
> @@ -1059,10 +1071,13 @@ err_alloc_ctx:
>                       isi->fb_descriptors_phys);
>  err_alloc_descriptors:
>  err_set_mck_rate:
> +     clk_unprepare(isi->mck);
> +err_clk_prepare_mck:
>       clk_put(isi->mck);
>  err_clk_get:
>       kfree(isi);
>  err_alloc_isi:
> +     clk_unprepare(pclk);
>       clk_put(pclk);
>  
>       return ret;
> -- 
> 1.6.3.3
> 

---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to