summaryrefslogtreecommitdiff
path: root/drivers/clocksource
diff options
context:
space:
mode:
authorSaravana Kannan <saravanak@google.com>2020-01-11 08:21:25 +0300
committerDaniel Lezcano <daniel.lezcano@linaro.org>2020-03-17 15:10:07 +0300
commit4f41fe386a94639cd9a1831298d4f85db5662f1e (patch)
tree54d144205cdb0caa693087e2170750a28bb0453f /drivers/clocksource
parent3d17cee291e8a4bc4c8b29b1c8a1b79e12f95473 (diff)
downloadlinux-4f41fe386a94639cd9a1831298d4f85db5662f1e.tar.xz
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
Diffstat (limited to 'drivers/clocksource')
-rw-r--r--drivers/clocksource/timer-probe.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/clocksource/timer-probe.c b/drivers/clocksource/timer-probe.c
index ee9574da53c0..a10f28d750a9 100644
--- a/drivers/clocksource/timer-probe.c
+++ b/drivers/clocksource/timer-probe.c
@@ -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);