[PATCH v4] GPIO PL061: Adding Clk framework support
Kevin Wells
kevin.wells at nxp.com
Thu Jul 29 19:22:58 EDT 2010
> /*
> * These are the device model conversion veneers; they convert the
> * device model structures to our more specific structures.
> @@ -130,17 +155,33 @@ static int amba_probe(struct device *dev)
> {
> struct amba_device *pcdev = to_amba_device(dev);
> struct amba_driver *pcdrv = to_amba_driver(dev->driver);
> - struct amba_id *id;
> + struct amba_id *id = amba_lookup(pcdrv->id_table, pcdev);
> + int ret;
>
> - id = amba_lookup(pcdrv->id_table, pcdev);
> + do {
> + ret = amba_get_enable_pclk(pcdev);
> + if (ret)
> + break;
> +
> + ret = pcdrv->probe(pcdev, id);
> + if (ret == 0)
> + break;
>
> - return pcdrv->probe(pcdev, id);
> + amba_put_disable_pclk(pcdev);
Should the AMBA clock be disabled if the probe() fails?
> + } while (0);
> +
> + return ret;
> }
>
More information about the linux-arm-kernel
mailing list