Received: by 2002:a25:c205:0:0:0:0:0 with SMTP id s5csp1558220ybf; Thu, 27 Feb 2020 13:23:10 -0800 (PST) X-Google-Smtp-Source: APXvYqwas6N/GkzWGofSthjE6TjlTPTdZTUI4jiz2xdZEjVN4NHY4D1SvVZsre/PeXTOXJpBP0bn X-Received: by 2002:a05:6830:1447:: with SMTP id w7mr686077otp.368.1582838590838; Thu, 27 Feb 2020 13:23:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582838590; cv=none; d=google.com; s=arc-20160816; b=PQJBsslhuxB5jKCRHg+pc5i/P+i8IXxkcN97Tdz6vL+E3Bn0EDRbbTTHT7COOEkd9W FJTTc/cgGHbc+HL/3sik7JkhhrDmgQbBfT8lCMyRsathxVC3gFFFFwy70T/If0y+6bGS IkvW+LgueXdgrtkwjmd+XZQQUSOrO5UxMn4m3Kzpg46VUkVoOXO9L0drhEoHnTZ0iXw5 +TKw1nxwAvzCrRz2lQdXHr2SlCYOxd/u3qdcbAv1Z8ABkVNYgkyB4wwyPCgc1wP7YKtY qRP3Lcj/qnjFY096PQz5d608Pbu8pqE1wdLkwd8LvBQ7+Klyy9nPTn3p+8jA54mpEYhV jgkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=fSzBosJ2jECtQLptDHrVs0XcQVa7YuC2vUon7qm+Kbs=; b=JDJuzcD6JWMNO37tJVUqTAlnaImH0F2DXsznvhcxRrJbt2DjPTNc27GH3/ld0xvsaU +hpxwHFiLP+WG2C4eHdZbvy+CYaQLW+1aSVVHC+OAXg37LiBZ5r1pm7/TvUO+T3QpW9A JMa2E6bo1egkp/J0/Fgg7gR3ruR2pmcV7giqUtzNttPKSrJhTSFB6Vv4s9X9Zass2XE0 k4byUpj219lK0irxXqr1wzl8T9vOpNssC786y6EUUn3AZoeI8YU/W6fievmrXvrzA+0n 54hwE1Ggnbw2lhZxH7AAKw9xqNqj1fYZfi8SfGJHLrG3BvJNCz0HKH6A1H7fARZ98JRe /FMQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=ajr39xau; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w7si252783otm.256.2020.02.27.13.22.55; Thu, 27 Feb 2020 13:23:10 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=ajr39xau; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729831AbgB0VWv (ORCPT + 99 others); Thu, 27 Feb 2020 16:22:51 -0500 Received: from mail-ot1-f66.google.com ([209.85.210.66]:38644 "EHLO mail-ot1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726460AbgB0VWu (ORCPT ); Thu, 27 Feb 2020 16:22:50 -0500 Received: by mail-ot1-f66.google.com with SMTP id z9so614528oth.5 for ; Thu, 27 Feb 2020 13:22:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=fSzBosJ2jECtQLptDHrVs0XcQVa7YuC2vUon7qm+Kbs=; b=ajr39xauztgS+hpOCpoFbqgrt1KfRm5qMyVy1aN0iJtobtaaNY7UXmccgUOSYZ7S82 bVOKNBuZHLcRdy9DsQWsU4GTlH4/gKcz2AzLYSOHkCZWswWS/6EKne3dfGgFqeQ3uIlb XaWKrM/X7vx/8MmRToZoWWs1jr7nmpMNYkndQ2mVEppgCB67XczjPGzlq7VL5vZ+XvXG JEp82adKDEBY2jS1OaaXcThy3gfiYp7Fg+yWmr/X1KsPi8OSTkz0aQaMGfXnqMk0YzVF qdscMPm5grBtNHFwwnxJYpWTKiW+A7LGZtv9Ar+lHrxSfJYLSaUgPzFj99KQflSSZT2C zZvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=fSzBosJ2jECtQLptDHrVs0XcQVa7YuC2vUon7qm+Kbs=; b=OLkTrCp6Bpw70D5xeOkWuIC448pIBxkAr/o+YLKIngR/JIDngVK658TawMm6SefjDW /zHFXW1uWATg16rmMW6HpODTIadt+e04FpjsjUT9lGsncphu5WFJO5U4IK6/tpJ1BxXy 156Gj63ovUDsLt6/ynhdJ7dHOMh3DFuAsj9CmXEaAE5E45vmOddPvLk5LnRF910OGuuf Wnp3uqwd5Z4yz+qItx5/HF4tI7iNZUx6hCw9ZJbPkEl8ilD6XknwXcXs3lZf3TLpWnGR EcrV8XVSU2q3AWeN2tr0dHXBJtMdWa6liy3IsfFXDJyZsOo8w6A8U1nyIFwiqrnp8KFo 2Y/w== X-Gm-Message-State: APjAAAXezPsByahhLLs/X5fqlLVuMciBHL0WPBDMA31N74Ce/jQSNuRQ jDVygm6XsNPWOg6LSwoXpm5Mh+ezpBto575s5TN1kA== X-Received: by 2002:a9d:6a85:: with SMTP id l5mr729353otq.231.1582838569643; Thu, 27 Feb 2020 13:22:49 -0800 (PST) MIME-Version: 1.0 References: <20200111052125.238212-1-saravanak@google.com> In-Reply-To: From: Saravana Kannan Date: Thu, 27 Feb 2020 13:22:13 -0800 Message-ID: Subject: Re: [PATCH v1] clocksource: Avoid creating dead devices To: Daniel Lezcano Cc: Thomas Gleixner , Android Kernel Team , LKML Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Feb 27, 2020 at 1:06 AM Daniel Lezcano wrote: > > On 11/01/2020 06:21, Saravana Kannan wrote: > > 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 > > --- > > drivers/clocksource/timer-probe.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > 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); > > Isn't it in conflict with: > > drivers/clocksource/ingenic-timer.c > > ? No, it won't interfere with that driver because: 1. This flag is getting set only if the driver already registered a timer init function using TIMER_OF_DECLARE. 2. And if the function fails, we clear the flag. So in the case of ingenic-timer, the device will still be there and be probed by the driver. My next step was going to be sending patches that'll actually allow compiling timer drivers as modules. Thanks, Saravana