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:
Saravana Kannan authored and Daniel Lezcano committed 2020-03-17 13:10:07 +01:00
1 parent 3d17cee291
commit 4f41fe386a
1 file changed
+2
+2
View File
@@ -27,8 +27,10 @@ void __init timer_probe(void)
init_func_ret = match->data;
of_node_set_flag(np, OF_POPULATED);
ret = init_func_ret(np);
if (ret) {
of_node_clear_flag(np, OF_POPULATED);
if (ret != -EPROBE_DEFER)
pr_err("Failed to initialize '%pOF': %d\n", np,
ret);