regmap: debugfs: Simplify calculation of `c->max_reg'
We don't need to use any of the file position information
to calculate the base and max register of each block.  Just
use the counter directly.
Set `i = base' at the top to avoid GCC flow analysis bugs.  The
value of `i' can never be undefined or 0 in the if (c) { ... }.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
	
	
This commit is contained in:
		
					parent
					
						
							
								6dbe51c251
							
						
					
				
			
			
				commit
				
					
						480738de0e
					
				
			
		
					 1 changed files with 4 additions and 7 deletions
				
			
		|  | @ -88,16 +88,15 @@ static unsigned int regmap_debugfs_get_dump_start(struct regmap *map, | |||
| 	 * If we don't have a cache build one so we don't have to do a | ||||
| 	 * linear scan each time. | ||||
| 	 */ | ||||
| 	i = base; | ||||
| 	if (list_empty(&map->debugfs_off_cache)) { | ||||
| 		for (i = base; i <= map->max_register; i += map->reg_stride) { | ||||
| 		for (; i <= map->max_register; i += map->reg_stride) { | ||||
| 			/* Skip unprinted registers, closing off cache entry */ | ||||
| 			if (!regmap_readable(map, i) || | ||||
| 			    regmap_precious(map, i)) { | ||||
| 				if (c) { | ||||
| 					c->max = p - 1; | ||||
| 					fpos_offset = c->max - c->min; | ||||
| 					reg_offset = fpos_offset / map->debugfs_tot_len; | ||||
| 					c->max_reg = c->base_reg + reg_offset; | ||||
| 					c->max_reg = i - map->reg_stride; | ||||
| 					list_add_tail(&c->list, | ||||
| 						      &map->debugfs_off_cache); | ||||
| 					c = NULL; | ||||
|  | @ -124,9 +123,7 @@ static unsigned int regmap_debugfs_get_dump_start(struct regmap *map, | |||
| 	/* Close the last entry off if we didn't scan beyond it */ | ||||
| 	if (c) { | ||||
| 		c->max = p - 1; | ||||
| 		fpos_offset = c->max - c->min; | ||||
| 		reg_offset = fpos_offset / map->debugfs_tot_len; | ||||
| 		c->max_reg = c->base_reg + reg_offset; | ||||
| 		c->max_reg = i - map->reg_stride; | ||||
| 		list_add_tail(&c->list, | ||||
| 			      &map->debugfs_off_cache); | ||||
| 	} | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dimitris Papastamos
				Dimitris Papastamos