forked from mirrors/linux
		
	clocksource/drivers/timer-probe: Avoid creating dead devices
Timer initialization is done during early boot way before the driver core starts processing devices and drivers. Timers initialized during this early boot period don't really need or use a struct device. However, for timers represented as device tree nodes, the struct devices are still created and sit around unused and wasting memory. This change avoid this by marking the device tree nodes as "populated" if the corresponding timer is successfully initialized. Signed-off-by: Saravana Kannan <saravanak@google.com> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Link: https://lore.kernel.org/r/20200111052125.238212-1-saravanak@google.com
This commit is contained in:
		
							parent
							
								
									3d17cee291
								
							
						
					
					
						commit
						4f41fe386a
					
				
					 1 changed files with 2 additions and 0 deletions
				
			
		|  | @ -27,8 +27,10 @@ void __init timer_probe(void) | ||||||
| 
 | 
 | ||||||
| 		init_func_ret = match->data; | 		init_func_ret = match->data; | ||||||
| 
 | 
 | ||||||
|  | 		of_node_set_flag(np, OF_POPULATED); | ||||||
| 		ret = init_func_ret(np); | 		ret = init_func_ret(np); | ||||||
| 		if (ret) { | 		if (ret) { | ||||||
|  | 			of_node_clear_flag(np, OF_POPULATED); | ||||||
| 			if (ret != -EPROBE_DEFER) | 			if (ret != -EPROBE_DEFER) | ||||||
| 				pr_err("Failed to initialize '%pOF': %d\n", np, | 				pr_err("Failed to initialize '%pOF': %d\n", np, | ||||||
| 				       ret); | 				       ret); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Saravana Kannan
						Saravana Kannan