Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp4244900imu; Mon, 28 Jan 2019 21:00:00 -0800 (PST) X-Google-Smtp-Source: ALg8bN40u+IRIzAZ07x5KTyI0/TjC2nT4zBLWs5L1PEgOD2JRh3kjm/ekzUpOgLg21/UW1JFAtXd X-Received: by 2002:a17:902:9a8b:: with SMTP id w11mr23968439plp.121.1548738000121; Mon, 28 Jan 2019 21:00:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548738000; cv=none; d=google.com; s=arc-20160816; b=RnPc8Pv23inMHem/s4XUOGcqmA0r6Bj6VQo04sCJ6E0LJgeGwr2R58Js58M+OcKYW7 nn2tX1wJ3cJTJP2/TTLs3HcqDDjc9+PbolJS11AAWRVxKSFGRevbFer/Q6MHB/zp8FGo wRC9oVQO7Sk/W+pATL5MoUdM68b7+GoYSFIFhYmrErPVjtpaovFCHpoDvtuNYDhZn/R4 jzavUi/s5M3LY4QzX8LfrOeWTKGKiGYtQzfYJOI0IWZpfK/0iJ9TL2En06ENM0etWnkY adqn5ClhXvDX1EgJeLnJupyt2aWipPONBEEzLP9ZJCqcJZSwqApPZlFBdr3MMu53lOep ktbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=vcvqDibFD4J+UsvLzl4IPLt3+45i56JFsvwQyIv7Ies=; b=hWJYgD9WOj29+TqVSmujxGE+KAX0DPVaDq1kPQS3L1Wxpz77CXQIecjoq07ZjxLYoU AzrTULJOfNeifuHqkWtm5tRneNpGQZqyYBYI8VRVTyEFGjEMGtRXLUAiO4VIUY6hLklL pdM3XbmlTRKtzhIE1pkwNJp7UfHEsE1/vYSm4utozQjozROkNt7iUgnbYtmd9hl/CyCr F2JGQXB86O6XFxrx4xAN/VfRYbcMy+QpQp6o1Hqk6rUcxP3cz3JRDr1Msr1Rrewnrwr0 K2vzzreiyEuTvGzvh4ERPZFZK5mspYU+NNrnRA9oyNulJ42ziRsmw1VT+cVjXOLavoE6 JDEA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=OIQOgBgI; 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=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o3si4727648pgm.441.2019.01.28.20.59.44; Mon, 28 Jan 2019 21:00:00 -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=@linaro.org header.s=google header.b=OIQOgBgI; 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=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727424AbfA2E7L (ORCPT + 99 others); Mon, 28 Jan 2019 23:59:11 -0500 Received: from mail-wm1-f68.google.com ([209.85.128.68]:50441 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727082AbfA2E7K (ORCPT ); Mon, 28 Jan 2019 23:59:10 -0500 Received: by mail-wm1-f68.google.com with SMTP id n190so16342773wmd.0 for ; Mon, 28 Jan 2019 20:59:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=vcvqDibFD4J+UsvLzl4IPLt3+45i56JFsvwQyIv7Ies=; b=OIQOgBgIYGQMD5MsHLsxxua0J6GIoPteH87r+Nqm3iXi33wmq5/SA3xu6C8XWZeUE8 5BEPB+ixLyvmyN1VSzTniLJcAQ+MjLrbckzu2gqa6qKrt5+DdT5GzOYGwqFuuE/b8D9+ 9tSK6SeE3Z0bHjhe2bBP4bRqYLweIzNozPMnM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=vcvqDibFD4J+UsvLzl4IPLt3+45i56JFsvwQyIv7Ies=; b=iRXNJI71yruw3CfMnrtYYD0Ho0qUo6NieIH5lhR4KVSDJrVgE34CON7fD1d5ddQkgT 6pbhDQbmUHrH7PrvOyKxKDv7O1YtYAauWgXc2vA2g9m3gOLBMwP0dXBoLyS7p74/eHch fRUnS8Ltk35Qm2ApjVOrT6aer6BAz2ioyDy90qIqUhmJHssXGfX/XUr0wJvxZ+QWz20H n43pJTIyXRsIDDAa65Oc7m5cvLX6BI++PPHWmTtb+t223OvgRU6fda/fShO9cvW5z4IE wqqwl5Ii1sHYXNSJ5wueMlLU7tlVTNMvnJxs7yxXwvAN9mIx6mKylWFhF1YLfkiwu+vW 2cyQ== X-Gm-Message-State: AJcUukdOD3eD7YxEbgvrE637pQRkV17FZFmSaenjD0jA2DngQAZsfqVK 1UJLmuvcCBZL9FTzzp2TcmTnDv+MP8Y= X-Received: by 2002:a1c:7dd6:: with SMTP id y205mr7116773wmc.121.1548737948077; Mon, 28 Jan 2019 20:59:08 -0800 (PST) Received: from localhost ([49.248.171.30]) by smtp.gmail.com with ESMTPSA id n127sm1733195wmd.20.2019.01.28.20.59.06 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 28 Jan 2019 20:59:07 -0800 (PST) From: Amit Kucheria To: linux-kernel@vger.kernel.org Cc: Sudeep Holla , "Rafael J. Wysocki" , Viresh Kumar , Daniel Lezcano , linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org Subject: [PATCH v5 9/9] cpufreq: scpi: Use auto-registration of thermal cooling device Date: Tue, 29 Jan 2019 10:25:15 +0530 Message-Id: <082a9bae988061ea5465f7cdb4b0c61b4230cd59.1548737236.git.amit.kucheria@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: References: In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Use the CPUFREQ_IS_COOLING_DEV flag to allow cpufreq core to automatically register as a thermal cooling device. This allows removal of boiler plate code from the driver. Signed-off-by: Amit Kucheria Acked-by: Sudeep Holla Acked-by: Viresh Kumar Reviewed-by: Daniel Lezcano --- drivers/cpufreq/scpi-cpufreq.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/drivers/cpufreq/scpi-cpufreq.c b/drivers/cpufreq/scpi-cpufreq.c index 99449738faa4..1db2f6927e13 100644 --- a/drivers/cpufreq/scpi-cpufreq.c +++ b/drivers/cpufreq/scpi-cpufreq.c @@ -22,7 +22,6 @@ #include #include #include -#include #include #include #include @@ -34,7 +33,6 @@ struct scpi_data { struct clk *clk; struct device *cpu_dev; - struct thermal_cooling_device *cdev; }; static struct scpi_ops *scpi_ops; @@ -186,7 +184,6 @@ static int scpi_cpufreq_exit(struct cpufreq_policy *policy) { struct scpi_data *priv = policy->driver_data; - cpufreq_cooling_unregister(priv->cdev); clk_put(priv->clk); dev_pm_opp_free_cpufreq_table(priv->cpu_dev, &policy->freq_table); kfree(priv); @@ -195,23 +192,16 @@ static int scpi_cpufreq_exit(struct cpufreq_policy *policy) return 0; } -static void scpi_cpufreq_ready(struct cpufreq_policy *policy) -{ - struct scpi_data *priv = policy->driver_data; - - priv->cdev = of_cpufreq_cooling_register(policy); -} - static struct cpufreq_driver scpi_cpufreq_driver = { .name = "scpi-cpufreq", .flags = CPUFREQ_STICKY | CPUFREQ_HAVE_GOVERNOR_PER_POLICY | - CPUFREQ_NEED_INITIAL_FREQ_CHECK, + CPUFREQ_NEED_INITIAL_FREQ_CHECK | + CPUFREQ_IS_COOLING_DEV, .verify = cpufreq_generic_frequency_table_verify, .attr = cpufreq_generic_attr, .get = scpi_cpufreq_get_rate, .init = scpi_cpufreq_init, .exit = scpi_cpufreq_exit, - .ready = scpi_cpufreq_ready, .target_index = scpi_cpufreq_set_target, }; -- 2.17.1