sh: enable and disable clocks recursively
Recurse and make sure parent clocks get enabled/disabled. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
		
							parent
							
								
									4a4a9be3eb
								
							
						
					
					
						commit
						d12cfac146
					
				| @ -117,6 +117,11 @@ int clk_enable(struct clk *clk) | ||||
| 	unsigned long flags; | ||||
| 	int ret; | ||||
| 
 | ||||
| 	if (!clk) | ||||
| 		return -EINVAL; | ||||
| 
 | ||||
| 	clk_enable(clk->parent); | ||||
| 
 | ||||
| 	spin_lock_irqsave(&clock_lock, flags); | ||||
| 	ret = __clk_enable(clk); | ||||
| 	spin_unlock_irqrestore(&clock_lock, flags); | ||||
| @ -147,9 +152,14 @@ void clk_disable(struct clk *clk) | ||||
| { | ||||
| 	unsigned long flags; | ||||
| 
 | ||||
| 	if (!clk) | ||||
| 		return -EINVAL; | ||||
| 
 | ||||
| 	spin_lock_irqsave(&clock_lock, flags); | ||||
| 	__clk_disable(clk); | ||||
| 	spin_unlock_irqrestore(&clock_lock, flags); | ||||
| 
 | ||||
| 	clk_disable(clk->parent); | ||||
| } | ||||
| EXPORT_SYMBOL_GPL(clk_disable); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user