On Mon, May 07, 2018 at 11:20:29AM +1000, James Kelly wrote:
> +static int clk_wzrd_probe(struct platform_device *pdev)
> +{
> + int ret;
> + struct device *dev = &pdev->dev;
> +
> + ret = clk_wzrd_get_device_tree_data(dev);
> + if (ret)
> + return ret;
> +
> + ret = clk_wzrd_regmap_alloc(dev);
> + if (ret)
> + return ret;
> +
> + ret = clk_wzrd_register_ccf(dev);
> + if (ret)
> + return ret;
> +
> + return 0;
The error handling is a terrible layer violation now... Every
allocation function should have a matching free function. But now
instead of that if clk_wzrd_register_ccf() fails then it starts cleaning
up the clk_wzrd->axi_clk that was allocated in
clk_wzrd_get_device_tree_data().
regards,
dan carpenter
_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel