[21/21] clocksource/drivers/timer-probe: Avoid creating dead devices
diff mbox series

Message ID 20200318174131.20582-21-daniel.lezcano@linaro.org
State Accepted
Commit 4f41fe386a94639cd9a1831298d4f85db5662f1e
Headers show
  • [01/21] clocksource/drivers/fttmr010: Parametrise shutdown
Related show

Commit Message

Daniel Lezcano March 18, 2020, 5:41 p.m. UTC
From: Saravana Kannan <saravanak@google.com>

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
 drivers/clocksource/timer-probe.c | 2 ++
 1 file changed, 2 insertions(+)

diff mbox series

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,