sh: extend clock struct with mapped_reg member
Add a "mapped_reg" member to struct clk and use that to keep the ioremapped register based on enable_reg. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
		
					parent
					
						
							
								d4775356bb
							
						
					
				
			
			
				commit
				
					
						eda2030a5b
					
				
			
		
					 2 changed files with 8 additions and 2 deletions
				
			
		|  | @ -355,7 +355,7 @@ static int clk_establish_mapping(struct clk *clk) | |||
| 		 */ | ||||
| 		if (!clk->parent) { | ||||
| 			clk->mapping = &dummy_mapping; | ||||
| 			return 0; | ||||
| 			goto out; | ||||
| 		} | ||||
| 
 | ||||
| 		/*
 | ||||
|  | @ -384,6 +384,9 @@ static int clk_establish_mapping(struct clk *clk) | |||
| 	} | ||||
| 
 | ||||
| 	clk->mapping = mapping; | ||||
| out: | ||||
| 	clk->mapped_reg = clk->mapping->base; | ||||
| 	clk->mapped_reg += (phys_addr_t)clk->enable_reg - clk->mapping->phys; | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
|  | @ -402,10 +405,12 @@ static void clk_teardown_mapping(struct clk *clk) | |||
| 
 | ||||
| 	/* Nothing to do */ | ||||
| 	if (mapping == &dummy_mapping) | ||||
| 		return; | ||||
| 		goto out; | ||||
| 
 | ||||
| 	kref_put(&mapping->ref, clk_destroy_mapping); | ||||
| 	clk->mapping = NULL; | ||||
| out: | ||||
| 	clk->mapped_reg = NULL; | ||||
| } | ||||
| 
 | ||||
| int clk_register(struct clk *clk) | ||||
|  |  | |||
|  | @ -49,6 +49,7 @@ struct clk { | |||
| 
 | ||||
| 	void __iomem		*enable_reg; | ||||
| 	unsigned int		enable_bit; | ||||
| 	void __iomem		*mapped_reg; | ||||
| 
 | ||||
| 	unsigned long		arch_flags; | ||||
| 	void			*priv; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Magnus Damm
				Magnus Damm