ti: am33xx: fix do_enable_clocks() to accept NULL parameters
Up till this commit passing NULL as input parameter was allowed, but not handled properly. When a NULL parameter was passed to the function a data abort was raised. Signed-off-by: Dario Binacchi <dariobin@libero.it> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
		
							parent
							
								
									c28baf6c70
								
							
						
					
					
						commit
						bc34f0ba83
					
				| 
						 | 
				
			
			@ -194,13 +194,14 @@ void do_enable_clocks(u32 *const *clk_domains,
 | 
			
		|||
	u32 i, max = 100;
 | 
			
		||||
 | 
			
		||||
	/* Put the clock domains in SW_WKUP mode */
 | 
			
		||||
	for (i = 0; (i < max) && clk_domains[i]; i++) {
 | 
			
		||||
	for (i = 0; (i < max) && clk_domains && clk_domains[i]; i++) {
 | 
			
		||||
		enable_clock_domain(clk_domains[i],
 | 
			
		||||
				    CD_CLKCTRL_CLKTRCTRL_SW_WKUP);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* Clock modules that need to be put in SW_EXPLICIT_EN mode */
 | 
			
		||||
	for (i = 0; (i < max) && clk_modules_explicit_en[i]; i++) {
 | 
			
		||||
	for (i = 0; (i < max) && clk_modules_explicit_en &&
 | 
			
		||||
	     clk_modules_explicit_en[i]; i++) {
 | 
			
		||||
		enable_clock_module(clk_modules_explicit_en[i],
 | 
			
		||||
				    MODULE_CLKCTRL_MODULEMODE_SW_EXPLICIT_EN,
 | 
			
		||||
				    wait_for_enable);
 | 
			
		||||
| 
						 | 
				
			
			@ -215,12 +216,13 @@ void do_disable_clocks(u32 *const *clk_domains,
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
	/* Clock modules that need to be put in SW_DISABLE */
 | 
			
		||||
	for (i = 0; (i < max) && clk_modules_disable[i]; i++)
 | 
			
		||||
	for (i = 0; (i < max) && clk_modules_disable && clk_modules_disable[i];
 | 
			
		||||
	     i++)
 | 
			
		||||
		disable_clock_module(clk_modules_disable[i],
 | 
			
		||||
				     wait_for_disable);
 | 
			
		||||
 | 
			
		||||
	/* Put the clock domains in SW_SLEEP mode */
 | 
			
		||||
	for (i = 0; (i < max) && clk_domains[i]; i++)
 | 
			
		||||
	for (i = 0; (i < max) && clk_domains && clk_domains[i]; i++)
 | 
			
		||||
		disable_clock_domain(clk_domains[i]);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue