On Wed 14 Feb 06:44 PST 2018, Srinivas Kandagatla wrote:
> @@ -1233,13 +1233,14 @@ static int bam_dma_probe(struct platform_device *pdev)
>                                               "qcom,controlled-remotely");
>  
>       bdev->bamclk = devm_clk_get(bdev->dev, "bam_clk");
> -     if (IS_ERR(bdev->bamclk))
> -             return PTR_ERR(bdev->bamclk);
> -
> -     ret = clk_prepare_enable(bdev->bamclk);
> -     if (ret) {
> -             dev_err(bdev->dev, "failed to prepare/enable clock\n");
> -             return ret;
> +     if (IS_ERR(bdev->bamclk)) {

In the case of !bdev->controlled_remotely I think this should still be
an error.

> +             bdev->bamclk = NULL;
> +     } else {
> +             ret = clk_prepare_enable(bdev->bamclk);
> +             if (ret) {
> +                     dev_err(bdev->dev, "failed to prepare/enable clock\n");
> +                     return ret;
> +             }

The rest of the driver will keep operating the bamclk (which is okay),
so for symmetry purposes I think you should just keep the
clk_prepare_enable() block unmodified.

Regards,
Bjorn

Reply via email to