diff options
Diffstat (limited to 'drivers/clk/clk-devres.c')
| -rw-r--r-- | drivers/clk/clk-devres.c | 9 | 
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/clk/clk-devres.c b/drivers/clk/clk-devres.c index be160764911b..f9d5b7334341 100644 --- a/drivers/clk/clk-devres.c +++ b/drivers/clk/clk-devres.c @@ -92,13 +92,20 @@ int __must_check devm_clk_bulk_get_optional(struct device *dev, int num_clks,  }  EXPORT_SYMBOL_GPL(devm_clk_bulk_get_optional); +static void devm_clk_bulk_release_all(struct device *dev, void *res) +{ +	struct clk_bulk_devres *devres = res; + +	clk_bulk_put_all(devres->num_clks, devres->clks); +} +  int __must_check devm_clk_bulk_get_all(struct device *dev,  				       struct clk_bulk_data **clks)  {  	struct clk_bulk_devres *devres;  	int ret; -	devres = devres_alloc(devm_clk_bulk_release, +	devres = devres_alloc(devm_clk_bulk_release_all,  			      sizeof(*devres), GFP_KERNEL);  	if (!devres)  		return -ENOMEM;  |