From patchwork Mon Jan 14 16:34:53 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amit Kucheria X-Patchwork-Id: 10763063 X-Patchwork-Delegate: agross@codeaurora.org Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A4CE2746 for ; Mon, 14 Jan 2019 16:35:56 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 92D4B29232 for ; Mon, 14 Jan 2019 16:35:56 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8579429274; Mon, 14 Jan 2019 16:35:56 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3E07429232 for ; Mon, 14 Jan 2019 16:35:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726749AbfANQfz (ORCPT ); Mon, 14 Jan 2019 11:35:55 -0500 Received: from mail-wm1-f65.google.com ([209.85.128.65]:54575 "EHLO mail-wm1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726674AbfANQfz (ORCPT ); Mon, 14 Jan 2019 11:35:55 -0500 Received: by mail-wm1-f65.google.com with SMTP id a62so202944wmh.4 for ; Mon, 14 Jan 2019 08:35:54 -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=B3U4dJNDxXU77aqEF/bd0F2FU2BzXMK0qQTt7fghjFA=; b=B4M5RU4V6n94aCrZUAH4F+wWJFxlWEjftqPmqqs9uGUOVv7uhSwYIroen676tDJlF5 hkQX2V22SJAdhYFTVYGk4RrPtxQGztGimctR6XBW5mrHdmQq0U/kYn+0S82kNAwq1FcA d9EtaVmC32Cva3n6CAu1Q77AuJ4mCqKHe7K0E= 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=B3U4dJNDxXU77aqEF/bd0F2FU2BzXMK0qQTt7fghjFA=; b=ukMeewBA2DItPu93nPe7mSXvWXcUBWmxZWk0AmtY4EiB8mCSBOPnuDEENllvEtqp2a /t+9xrGxo2tGLD6EIckQ1mK44AA2tG12b8cG84/qEukaqLDZU1rwfWPYpTwJAHSvu4Av SWeQvlasTIwyToEs9Z65cP1bd4l6k/l98QfZAdGljR3GSDAWlO5LhCLzOAg7ZOuuJEiL Qybym/QGHB8Jrz49yucypWLCAhGtQG2x/PLB10T12ZS6jek7r82F59MbL1Ng/PPUdj+y uXADde8dh1LlceKNsWUC/BQ0N0swiT/wl3VnxlLT0PULKFUWSBSVpJ940V+vgYEau0bK L4WA== X-Gm-Message-State: AJcUukfq/112KN1QG9B44i4uSDKnO0zOmvVKQwB86YoJDdOEqBfLB61f NDbAPE3WSpzGZbWGRyiaHrMcoQ== X-Google-Smtp-Source: ALg8bN4rDGwQQv8KQifEL+FznWmJAiaEI37HHW4e/z4i2VxC6/pkJxcOM/RmTh6Q65h8E6/HJozGAg== X-Received: by 2002:a1c:aa0f:: with SMTP id t15mr12308049wme.108.1547483753190; Mon, 14 Jan 2019 08:35:53 -0800 (PST) Received: from localhost ([49.248.190.171]) by smtp.gmail.com with ESMTPSA id w12sm65168974wrr.23.2019.01.14.08.35.51 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 14 Jan 2019 08:35:52 -0800 (PST) From: Amit Kucheria To: linux-kernel@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, viresh.kumar@linaro.org, edubezval@gmail.com, swboyd@chromium.org, dianders@chromium.org, mka@chromium.org, "Rafael J. Wysocki" , linux-pm@vger.kernel.org Subject: [PATCH v1 01/10] cpufreq: Add thermal_cooling_device pointer to struct cpufreq_policy Date: Mon, 14 Jan 2019 22:04:53 +0530 Message-Id: <168294311714f269b1050bcbf5d3324eae0808f2.1547481320.git.amit.kucheria@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: References: In-Reply-To: References: Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Several cpufreq drivers register themselves as thermal cooling devices. Adding a pointer to struct cpufreq_policy removes the need for them to store this pointer in a private data structure. We can then auto-register the cpufreq driver as a thermal cooling device from cpufreq core code. Signed-off-by: Amit Kucheria --- include/linux/cpufreq.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h index c86d6d8bdfed..7d0cf54125fa 100644 --- a/include/linux/cpufreq.h +++ b/include/linux/cpufreq.h @@ -95,6 +95,11 @@ struct cpufreq_policy { struct cpufreq_frequency_table *freq_table; enum cpufreq_table_sorting freq_table_sorted; +#ifdef CONFIG_CPU_THERMAL + /* Pointer to the cooling device if used for thermal mitigation */ + struct thermal_cooling_device *cooldev; +#endif + struct list_head policy_list; struct kobject kobj; struct completion kobj_unregister; From patchwork Mon Jan 14 16:34:54 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amit Kucheria X-Patchwork-Id: 10763081 X-Patchwork-Delegate: agross@codeaurora.org Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 95EDA184E for ; Mon, 14 Jan 2019 16:36:34 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8743B2924E for ; Mon, 14 Jan 2019 16:36:34 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7B62E292A7; Mon, 14 Jan 2019 16:36:34 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2D85D2924E for ; Mon, 14 Jan 2019 16:36:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726656AbfANQgd (ORCPT ); Mon, 14 Jan 2019 11:36:33 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:35920 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726646AbfANQgd (ORCPT ); Mon, 14 Jan 2019 11:36:33 -0500 Received: by mail-wr1-f66.google.com with SMTP id u4so23664955wrp.3 for ; Mon, 14 Jan 2019 08:36:32 -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=raje0KyJSfgQ1XlDTxNcMYQ5pbNyRq5aHVfsy61nUJY=; b=cD1FRQJ9YR5b0pY9h+iFZO5Qu66uT5l+f3/g0UlwezD4Nm21Mr0qEp89AKa8ZCsduo qnnMSZQEbjrf82PDdkpbDOvX+VURzTsa8nMTXJtSDk/ojD90Y2odKyIyd6wES5/N9zki qXNFRjl+o64wM5WEZ+3BYizUFbMV/ZZ056DnU= 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=raje0KyJSfgQ1XlDTxNcMYQ5pbNyRq5aHVfsy61nUJY=; b=QceeftdPNQn182V7u/6+JzKVhuTMl10Oo2hR2m0ylRcUsJF7O8mARWy6PJnDz0cqdE LxhJf2DtqB4itoZ4yfEECWP0wDoEHCyQ6xsUaeNA2q8X1ZDx6o+iVKJEwCezC0sfC37j pOVdmA6gXUv0Ooh9RDGkI2lRi1VsbAMjXb3Adcn5ZDfHm1xCugIo3FdJBUgL6FHEGqvR FPwuIqpRRZznYS8O39dQO5MHrRRwAdFa929EL8Qv/Yvvneo0UPYvAjOENXF5XPQ/swa0 EIyNxDmr9qQRQsjWPc00jC9/4lsZC9TKTm/iPtLBHfPWafw+C11sc1PrXxpskl7D7aoN WdCA== X-Gm-Message-State: AJcUukcYJSpYsDhBA00WI4sCCVJrTZnou+3Dhb80VM4W7HnJ8S7oSgAu qSRtaOan7x7SNTZmWIOK97xzog== X-Google-Smtp-Source: ALg8bN4lij1dpdGV7bwphfErzCs7iI99p85Y4s5ruLqiJVtfgpNIKpU8D8YgvrCWFZckl9PQBDdsHQ== X-Received: by 2002:adf:f091:: with SMTP id n17mr22754144wro.292.1547483791612; Mon, 14 Jan 2019 08:36:31 -0800 (PST) Received: from localhost ([49.248.190.171]) by smtp.gmail.com with ESMTPSA id o82sm26166937wmo.29.2019.01.14.08.36.29 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 14 Jan 2019 08:36:30 -0800 (PST) From: Amit Kucheria To: linux-kernel@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, viresh.kumar@linaro.org, edubezval@gmail.com, swboyd@chromium.org, dianders@chromium.org, mka@chromium.org, "Rafael J. Wysocki" , linux-pm@vger.kernel.org Subject: [PATCH v1 02/10] cpufreq: Add a flag to auto-register a cooling device Date: Mon, 14 Jan 2019 22:04:54 +0530 Message-Id: X-Mailer: git-send-email 2.17.1 In-Reply-To: References: In-Reply-To: References: Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP All cpufreq drivers do similar things to register as a cooling device. Provide a cpufreq driver flag so drivers can just ask the cpufreq core to register the cooling device on their behalf. This allows us to get rid of duplicated code in the drivers. Suggested-by: Stephen Boyd Suggested-by: Viresh Kumar Signed-off-by: Amit Kucheria Reviewed-by: Matthias Kaehlcke Tested-by: Matthias Kaehlcke --- drivers/cpufreq/cpufreq.c | 17 +++++++++++++++++ include/linux/cpufreq.h | 6 ++++++ 2 files changed, 23 insertions(+) diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index 6f23ebb395f1..cd6e750d3d82 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c @@ -30,6 +30,7 @@ #include #include #include +#include static LIST_HEAD(cpufreq_policy_list); @@ -1318,6 +1319,14 @@ static int cpufreq_online(unsigned int cpu) if (cpufreq_driver->ready) cpufreq_driver->ready(policy); +#ifdef CONFIG_CPU_THERMAL + if (cpufreq_driver->flags & CPUFREQ_AUTO_REGISTER_COOLING_DEV) { + struct thermal_cooling_device **cdev = &policy->cooldev; + + *cdev = of_cpufreq_cooling_register(policy); + } +#endif + pr_debug("initialization complete\n"); return 0; @@ -1411,6 +1420,14 @@ static int cpufreq_offline(unsigned int cpu) if (has_target()) cpufreq_exit_governor(policy); +#ifdef CONFIG_CPU_THERMAL + if (cpufreq_driver->flags & CPUFREQ_AUTO_REGISTER_COOLING_DEV) { + struct thermal_cooling_device **cdev = &policy->cooldev; + + cpufreq_cooling_unregister(*cdev); + } +#endif + /* * Perform the ->exit() even during light-weight tear-down, * since this is a core component, and is essential for the diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h index 7d0cf54125fa..70ad02088825 100644 --- a/include/linux/cpufreq.h +++ b/include/linux/cpufreq.h @@ -390,6 +390,12 @@ struct cpufreq_driver { */ #define CPUFREQ_NO_AUTO_DYNAMIC_SWITCHING (1 << 6) +/* + * Set by drivers that want the core to automatically register the cpufreq + * driver as a thermal cooling device + */ +#define CPUFREQ_AUTO_REGISTER_COOLING_DEV (1 << 7) + int cpufreq_register_driver(struct cpufreq_driver *driver_data); int cpufreq_unregister_driver(struct cpufreq_driver *driver_data); From patchwork Mon Jan 14 16:34:55 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amit Kucheria X-Patchwork-Id: 10763091 X-Patchwork-Delegate: agross@codeaurora.org Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 137281390 for ; Mon, 14 Jan 2019 16:37:10 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 02EFC2913F for ; Mon, 14 Jan 2019 16:37:10 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id EB02629221; Mon, 14 Jan 2019 16:37:09 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8F3272913F for ; Mon, 14 Jan 2019 16:37:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726750AbfANQhJ (ORCPT ); Mon, 14 Jan 2019 11:37:09 -0500 Received: from mail-wm1-f67.google.com ([209.85.128.67]:35301 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726678AbfANQhI (ORCPT ); Mon, 14 Jan 2019 11:37:08 -0500 Received: by mail-wm1-f67.google.com with SMTP id t200so227177wmt.0 for ; Mon, 14 Jan 2019 08:37:07 -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=l9DFr+fvRp4XNuqC48f1qHOGOAXrzlsaBjEr2TKjUhQ=; b=YGUVoculVhQysuFRCsbNQIiuVYcvjY66Xe4LX7+xPF4IZ0rwm+fSRC1vVJOXzj2Uvb f+U8eciraYxPS23uQq3cV+ESE8UN/YkgMGzPPe2JLu+IVaU3VADFmzv8VnRv2LsO3G52 JdjSynt3qW7rv7JphYeUlgzo3OwuufWD8DXdc= 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=l9DFr+fvRp4XNuqC48f1qHOGOAXrzlsaBjEr2TKjUhQ=; b=h4LQg7EB+XkWOxQWcO+VDZBmqFrkTDZnKqe+EEv8HGNN82o8J50SG7LPQIj1NKa2XY 1GfekgF7sQOFl1zl11r6oWehoHdtKlxGBsgIwjOR73sa3tE1+hpx30bbGyZP5iSqpVq6 lCjiZzCyEBaAeeKcC0xNvsoIIhj4LbhekoDMwJX4r2Es1wZPc2WTCD7P0EBHbBXIBl6j b5vHa2jBitxTleMeXR5sF42RhD8MChxdMRblXO6c7odi98agSpg5ROB0OuqKxizyVQAb sPg5/4+pSJrPSJ0GLi708l2T0w4yqaqbLO76HdJw6nDYcl83mstDPGuwzH6pVf4IJmgT TIow== X-Gm-Message-State: AJcUukfvd0ui4qZm62pyGl88qU2AQP5ujf4KKyQg5DQhV8GykGdbkDh1 rvRkfYk3ZHE5ubWH+bwKyhRtCA== X-Google-Smtp-Source: ALg8bN4Y9ioFVy8dEaarjhl4GkipP/ZCwRKGycgXeMtMxW5pnAtZ+oaYeaJD+QHvp59iNKq8X3kuGw== X-Received: by 2002:a1c:400b:: with SMTP id n11mr12940185wma.85.1547483826284; Mon, 14 Jan 2019 08:37:06 -0800 (PST) Received: from localhost ([49.248.190.171]) by smtp.gmail.com with ESMTPSA id h16sm152392640wrb.62.2019.01.14.08.37.04 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 14 Jan 2019 08:37:05 -0800 (PST) From: Amit Kucheria To: linux-kernel@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, viresh.kumar@linaro.org, edubezval@gmail.com, swboyd@chromium.org, dianders@chromium.org, mka@chromium.org, "Rafael J. Wysocki" , linux-pm@vger.kernel.org Subject: [PATCH v1 03/10] cpufreq: Replace open-coded << with BIT() Date: Mon, 14 Jan 2019 22:04:55 +0530 Message-Id: X-Mailer: git-send-email 2.17.1 In-Reply-To: References: In-Reply-To: References: Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Minor clean-up to use BIT() and keep checkpatch happy. Clean up the comment formatting while we're at it to make it easier to read. Signed-off-by: Amit Kucheria Reviewed-by: Stephen Boyd --- include/linux/cpufreq.h | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h index 70ad02088825..ea303dfd5f05 100644 --- a/include/linux/cpufreq.h +++ b/include/linux/cpufreq.h @@ -351,14 +351,15 @@ struct cpufreq_driver { }; /* flags */ -#define CPUFREQ_STICKY (1 << 0) /* driver isn't removed even if - all ->init() calls failed */ -#define CPUFREQ_CONST_LOOPS (1 << 1) /* loops_per_jiffy or other - kernel "constants" aren't - affected by frequency - transitions */ -#define CPUFREQ_PM_NO_WARN (1 << 2) /* don't warn on suspend/resume - speed mismatches */ + +/* driver isn't removed even if all ->init() calls failed */ +#define CPUFREQ_STICKY BIT(0) + +/* loops_per_jiffy or other kernel "constants" aren't affected by frequency transitions */ +#define CPUFREQ_CONST_LOOPS BIT(1) + +/* don't warn on suspend/resume speed mismatches */ +#define CPUFREQ_PM_NO_WARN BIT(2) /* * This should be set by platforms having multiple clock-domains, i.e. @@ -366,14 +367,14 @@ struct cpufreq_driver { * be created in cpu/cpu/cpufreq/ directory and so they can use the same * governor with different tunables for different clusters. */ -#define CPUFREQ_HAVE_GOVERNOR_PER_POLICY (1 << 3) +#define CPUFREQ_HAVE_GOVERNOR_PER_POLICY BIT(3) /* * Driver will do POSTCHANGE notifications from outside of their ->target() * routine and so must set cpufreq_driver->flags with this flag, so that core * can handle them specially. */ -#define CPUFREQ_ASYNC_NOTIFICATION (1 << 4) +#define CPUFREQ_ASYNC_NOTIFICATION BIT(4) /* * Set by drivers which want cpufreq core to check if CPU is running at a @@ -382,19 +383,19 @@ struct cpufreq_driver { * from the table. And if that fails, we will stop further boot process by * issuing a BUG_ON(). */ -#define CPUFREQ_NEED_INITIAL_FREQ_CHECK (1 << 5) +#define CPUFREQ_NEED_INITIAL_FREQ_CHECK BIT(5) /* * Set by drivers to disallow use of governors with "dynamic_switching" flag * set. */ -#define CPUFREQ_NO_AUTO_DYNAMIC_SWITCHING (1 << 6) +#define CPUFREQ_NO_AUTO_DYNAMIC_SWITCHING BIT(6) /* * Set by drivers that want the core to automatically register the cpufreq * driver as a thermal cooling device */ -#define CPUFREQ_AUTO_REGISTER_COOLING_DEV (1 << 7) +#define CPUFREQ_AUTO_REGISTER_COOLING_DEV BIT(7) int cpufreq_register_driver(struct cpufreq_driver *driver_data); int cpufreq_unregister_driver(struct cpufreq_driver *driver_data); From patchwork Mon Jan 14 16:34:56 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amit Kucheria X-Patchwork-Id: 10763105 X-Patchwork-Delegate: agross@codeaurora.org Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C07C1184E for ; Mon, 14 Jan 2019 16:38:09 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B0E8929140 for ; Mon, 14 Jan 2019 16:38:09 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A576829227; Mon, 14 Jan 2019 16:38:09 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A093229140 for ; Mon, 14 Jan 2019 16:38:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726673AbfANQiC (ORCPT ); Mon, 14 Jan 2019 11:38:02 -0500 Received: from mail-wm1-f67.google.com ([209.85.128.67]:54823 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726850AbfANQiB (ORCPT ); Mon, 14 Jan 2019 11:38:01 -0500 Received: by mail-wm1-f67.google.com with SMTP id a62so211092wmh.4 for ; Mon, 14 Jan 2019 08:38:00 -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=7AsIbPWyaNVpnciz+rQGAz2HaZ4096BUiIF8+8SbLYU=; b=g+/TUjSI97oiEjeIAmXF0JOOEHIisT++1kgUNslcEzl+MXsAQdUqxZKToZSh9xvLT+ iwBJdUjokPH/r7hq48KAtOiDzOwaPn5OaebqLJo/VGGED1wgBbNvOJDq3EaISIT5YGCZ mtgK3e6zdpjv0JzgJoAk//OZxJ+4rH7OVZ6Dw= 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=7AsIbPWyaNVpnciz+rQGAz2HaZ4096BUiIF8+8SbLYU=; b=fwaEOmRxOweqZ+/edob1RDAeoPDugUVBgzHBgn8tRf7Vu65YGu6c5Y+WZNaaDoLIJP QUz44oGBgvn+JM9fWaDDzjRtlc3fDJQ4i2GD9FD8MPHv5muKR9Vv2waePJXRjEXPj4E4 yWTQhXa2Pw6smhbHnNLh32IoOOASjrA3YCd/jZZuHaRqwztOHPlvg4X8V2rx30PlVg5f F1LAHum94YZqhGoRgknb3FsOiyZNPm1WzCRp5f+2koeCx1n49j4f9tYKAH4F4PQwMsm2 ZVoUq6MOI3Wn3IYDyIn4ufy/od6zTFHdkfcgk+OWt7xpSeZ5r9nPWzQh0/Z59PvJMfaZ d5tw== X-Gm-Message-State: AJcUukcVSkGqwFE1PBBNQVpQv2xDVVjLAbyU8RgWgnZa1GctaHaqzOfj 6KbE0pxFDnp6a3AaewQMeP8t1w== X-Google-Smtp-Source: ALg8bN4YbrE2x0B5oCkMYfElty4fq9P7zjJAiafghkgojy/xwKBX+KrIZk8zipUnYQKLxT56fwYf6w== X-Received: by 2002:a7b:c397:: with SMTP id s23mr2889239wmj.127.1547483879688; Mon, 14 Jan 2019 08:37:59 -0800 (PST) Received: from localhost ([49.248.190.171]) by smtp.gmail.com with ESMTPSA id o82sm26171257wmo.29.2019.01.14.08.37.57 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 14 Jan 2019 08:37:59 -0800 (PST) From: Amit Kucheria To: linux-kernel@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, viresh.kumar@linaro.org, edubezval@gmail.com, swboyd@chromium.org, dianders@chromium.org, mka@chromium.org, "Rafael J. Wysocki" , linux-pm@vger.kernel.org Subject: [PATCH v1 04/10] cpufreq: qcom-hw: Register as a cpufreq cooling device Date: Mon, 14 Jan 2019 22:04:56 +0530 Message-Id: X-Mailer: git-send-email 2.17.1 In-Reply-To: References: In-Reply-To: References: Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Add the CPUFREQ_AUTO_REGISTER_COOLING_DEV flag to allow the cpufreq core to auto-register the driver as a cooling device. Signed-off-by: Amit Kucheria Reviewed-by: Matthias Kaehlcke Tested-by: Matthias Kaehlcke --- drivers/cpufreq/qcom-cpufreq-hw.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/cpufreq/qcom-cpufreq-hw.c b/drivers/cpufreq/qcom-cpufreq-hw.c index d83939a1b3d4..ed32849a3d40 100644 --- a/drivers/cpufreq/qcom-cpufreq-hw.c +++ b/drivers/cpufreq/qcom-cpufreq-hw.c @@ -231,7 +231,8 @@ static struct freq_attr *qcom_cpufreq_hw_attr[] = { static struct cpufreq_driver cpufreq_qcom_hw_driver = { .flags = CPUFREQ_STICKY | CPUFREQ_NEED_INITIAL_FREQ_CHECK | - CPUFREQ_HAVE_GOVERNOR_PER_POLICY, + CPUFREQ_HAVE_GOVERNOR_PER_POLICY | + CPUFREQ_AUTO_REGISTER_COOLING_DEV, .verify = cpufreq_generic_frequency_table_verify, .target_index = qcom_cpufreq_hw_target_index, .get = qcom_cpufreq_hw_get, From patchwork Mon Jan 14 16:34:57 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amit Kucheria X-Patchwork-Id: 10763113 X-Patchwork-Delegate: agross@codeaurora.org Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1E0E7746 for ; Mon, 14 Jan 2019 16:38:52 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0D72F292D2 for ; Mon, 14 Jan 2019 16:38:52 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id F3CCE292D8; Mon, 14 Jan 2019 16:38:51 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 97F7C29079 for ; Mon, 14 Jan 2019 16:38:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726736AbfANQiv (ORCPT ); Mon, 14 Jan 2019 11:38:51 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:38806 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726729AbfANQiu (ORCPT ); Mon, 14 Jan 2019 11:38:50 -0500 Received: by mail-wr1-f66.google.com with SMTP id v13so23654339wrw.5 for ; Mon, 14 Jan 2019 08:38:49 -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=UIVW5Jk3h063m2TjLZyvAJQQxY5HQB8LVsVnZkvA3R0=; b=Oe5N8JYAdaTMIzIXzxENuBPAAkXsaAkTXY1hQM2DXCEDtSRB8YPdZc1Z6ShWxktov2 ZR5kbfQP/Z5P2bFF+aECvR2FeAwTLxJfYGTN/b23rj/w3DzC6/CfVhH0RYRf86/RHvla 9LLdaJmiWToZ9s6mCd3GqK4FUZa4FppMCTyPQ= 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=UIVW5Jk3h063m2TjLZyvAJQQxY5HQB8LVsVnZkvA3R0=; b=OuBiIgzm/5iroFfqEoh/t+K7ZkEugAgj/J6xnOg3Y6l9P7kgkIDlr09QA40CC57FB4 P7KfFTyca+OyYSWmYzScs0IwnT6F1Bsq6EfLfsBNmfYBOV65yN8OC69uIgfR+v+iTr/V Wb6VSxDgew09/eFQVIb5th6yN7A3Tnl+X52YBIWgwZn2EDJKQgdEfENIXxV3cckaWgmg rzMHhzr9A2uA2KYP4kB/mmlePO3IPaC15xGnQkBfdnPZbTTwx2S1ZJFbLpKO5hqPbp0P fd9rmawbjHEOp9XkB69rKS9c95Akp7igytYWGStjjFeOvyaKlRJLetIBdj2uMb/KkDqs Nwsg== X-Gm-Message-State: AJcUukcQJNOBqxDzEG59/dN6RzkPqRUeKMpTQZIzf+kv7iYhB1ofF7jh 3PBmlJ+673qPfPQBrtGwsmJT5A== X-Google-Smtp-Source: ALg8bN5TJFhAq3WiiJC8MtbBDfqOB9t6XjcizM8ql0ft53jmW5lFv8c5QszGSfnasDSXogvq3rEOzg== X-Received: by 2002:adf:cc91:: with SMTP id p17mr25446735wrj.118.1547483928892; Mon, 14 Jan 2019 08:38:48 -0800 (PST) Received: from localhost ([49.248.190.171]) by smtp.gmail.com with ESMTPSA id e9sm60948525wro.16.2019.01.14.08.38.47 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 14 Jan 2019 08:38:48 -0800 (PST) From: Amit Kucheria To: linux-kernel@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, viresh.kumar@linaro.org, edubezval@gmail.com, swboyd@chromium.org, dianders@chromium.org, mka@chromium.org, "Rafael J. Wysocki" , Anson Huang , linux-pm@vger.kernel.org Subject: [PATCH v1 05/10] cpufreq: imx6q: Use auto-registration of thermal cooling device Date: Mon, 14 Jan 2019 22:04:57 +0530 Message-Id: <49e531e140f299127ae6c0bc905b993b97c269e2.1547481320.git.amit.kucheria@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: References: In-Reply-To: References: Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Use the CPUFREQ_AUTO_REGISTER_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 --- drivers/cpufreq/imx6q-cpufreq.c | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/drivers/cpufreq/imx6q-cpufreq.c b/drivers/cpufreq/imx6q-cpufreq.c index 9fedf627e000..ffb00291f48e 100644 --- a/drivers/cpufreq/imx6q-cpufreq.c +++ b/drivers/cpufreq/imx6q-cpufreq.c @@ -9,7 +9,6 @@ #include #include #include -#include #include #include #include @@ -52,7 +51,6 @@ static struct clk_bulk_data clks[] = { }; static struct device *cpu_dev; -static struct thermal_cooling_device *cdev; static bool free_opp; static struct cpufreq_frequency_table *freq_table; static unsigned int max_freq; @@ -193,16 +191,6 @@ static int imx6q_set_target(struct cpufreq_policy *policy, unsigned int index) return 0; } -static void imx6q_cpufreq_ready(struct cpufreq_policy *policy) -{ - cdev = of_cpufreq_cooling_register(policy); - - if (!cdev) - dev_err(cpu_dev, - "running cpufreq without cooling device: %ld\n", - PTR_ERR(cdev)); -} - static int imx6q_cpufreq_init(struct cpufreq_policy *policy) { int ret; @@ -216,20 +204,18 @@ static int imx6q_cpufreq_init(struct cpufreq_policy *policy) static int imx6q_cpufreq_exit(struct cpufreq_policy *policy) { - cpufreq_cooling_unregister(cdev); - return 0; } static struct cpufreq_driver imx6q_cpufreq_driver = { - .flags = CPUFREQ_NEED_INITIAL_FREQ_CHECK, + .flags = CPUFREQ_NEED_INITIAL_FREQ_CHECK | + CPUFREQ_AUTO_REGISTER_COOLING_DEV, .verify = cpufreq_generic_frequency_table_verify, .target_index = imx6q_set_target, .get = cpufreq_generic_get, .init = imx6q_cpufreq_init, .exit = imx6q_cpufreq_exit, .name = "imx6q-cpufreq", - .ready = imx6q_cpufreq_ready, .attr = cpufreq_generic_attr, .suspend = cpufreq_generic_suspend, }; From patchwork Mon Jan 14 16:34:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amit Kucheria X-Patchwork-Id: 10763129 X-Patchwork-Delegate: agross@codeaurora.org Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id ADFC21390 for ; Mon, 14 Jan 2019 16:41:40 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9E0B92969B for ; Mon, 14 Jan 2019 16:41:40 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9B278296AF; Mon, 14 Jan 2019 16:41:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4955B2969B for ; Mon, 14 Jan 2019 16:41:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726833AbfANQle (ORCPT ); Mon, 14 Jan 2019 11:41:34 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:44220 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726656AbfANQld (ORCPT ); Mon, 14 Jan 2019 11:41:33 -0500 Received: by mail-wr1-f67.google.com with SMTP id z5so23637731wrt.11 for ; Mon, 14 Jan 2019 08:41:32 -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=7flkZLLLMPKnUBob6lG91eyXS2wXjEuVdEl94VSGgUQ=; b=GhCgDGmoxDg7HLCQuCUtdj6BGUGMiGm5sk3l9jWvy+y8Mc2yxEL+d+M3bBXCNa78zO luP05FxIo8xnoRlQJS+BkC2BXYKe2AA9O009LfOeUL7Is7DXlTqHb4WdG6v5KVeF2BZ8 m/+hefIMzreCIs8TcyXF96EszozO+1m1yRRow= 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=7flkZLLLMPKnUBob6lG91eyXS2wXjEuVdEl94VSGgUQ=; b=T1/fPe9ZBMODFEiY0mRU9jkoezC2IDt5nyt8Fc+lQZmkPt/G0s7ZA4PX4rp3uHLhCa yKiqObju9EzuUJVlox3CZ1lz/RdHXHBi25iRNcSu9uLjE8i7sbLnx/jug5Xq0UtPMN+0 YBnLUxJYg0dC6aTKygLT2AvnBlrHMfzDCShoOf3tkhHBcPFrKg2suWdUxMjGSMyZmqRL ySwvUQ3UwtmgETIjwluC0rzmrP/NQWW8LmTsFjDMx3JbK/y0D7ZvLcC/FtgAUA0a9Exj kTUof73pjfjKhRlJp+jn5VT62lKjEELmGIc9rQMz21368wOUrhoZnNaNqobXg1/wgo7A P8Fw== X-Gm-Message-State: AJcUukf804tBzwxP5zIAPqPTxKgioQKL/zUpyxLN+jA6jDiY+SDS+YaH ZfN15g7gbx3/Ygx/i+i3fXCfHw== X-Google-Smtp-Source: ALg8bN6tdUhNWa9qvTytYjNZfEiVRNMZt3QrKlkrvKiPNsq45lioeS8omQc23kqYIJk08u9yE6WdoA== X-Received: by 2002:adf:e5c4:: with SMTP id a4mr24073413wrn.157.1547484091561; Mon, 14 Jan 2019 08:41:31 -0800 (PST) Received: from localhost ([49.248.190.171]) by smtp.gmail.com with ESMTPSA id 143sm56483488wml.14.2019.01.14.08.41.29 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 14 Jan 2019 08:41:30 -0800 (PST) From: Amit Kucheria To: linux-kernel@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, viresh.kumar@linaro.org, edubezval@gmail.com, swboyd@chromium.org, dianders@chromium.org, mka@chromium.org, "Rafael J. Wysocki" , Shawn Guo , linux-pm@vger.kernel.org Subject: [PATCH v1 06/10] cpufreq: cpufreq-dt: Use auto-registration of thermal cooling device Date: Mon, 14 Jan 2019 22:04:58 +0530 Message-Id: <9ff853ce75cc1f64f106a239891f55be96a28db4.1547481320.git.amit.kucheria@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: References: In-Reply-To: References: Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Use the CPUFREQ_AUTO_REGISTER_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 --- drivers/cpufreq/cpufreq-dt.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/drivers/cpufreq/cpufreq-dt.c b/drivers/cpufreq/cpufreq-dt.c index e58bfcb1169e..2a4c4ea7980b 100644 --- a/drivers/cpufreq/cpufreq-dt.c +++ b/drivers/cpufreq/cpufreq-dt.c @@ -13,7 +13,6 @@ #include #include -#include #include #include #include @@ -30,7 +29,6 @@ struct private_data { struct opp_table *opp_table; struct device *cpu_dev; - struct thermal_cooling_device *cdev; const char *reg_name; bool have_static_opps; }; @@ -301,7 +299,6 @@ static int cpufreq_exit(struct cpufreq_policy *policy) { struct private_data *priv = policy->driver_data; - cpufreq_cooling_unregister(priv->cdev); dev_pm_opp_free_cpufreq_table(priv->cpu_dev, &policy->freq_table); if (priv->have_static_opps) dev_pm_opp_of_cpumask_remove_table(policy->related_cpus); @@ -314,21 +311,14 @@ static int cpufreq_exit(struct cpufreq_policy *policy) return 0; } -static void cpufreq_ready(struct cpufreq_policy *policy) -{ - struct private_data *priv = policy->driver_data; - - priv->cdev = of_cpufreq_cooling_register(policy); -} - static struct cpufreq_driver dt_cpufreq_driver = { - .flags = CPUFREQ_STICKY | CPUFREQ_NEED_INITIAL_FREQ_CHECK, + .flags = CPUFREQ_STICKY | CPUFREQ_NEED_INITIAL_FREQ_CHECK | + CPUFREQ_AUTO_REGISTER_COOLING_DEV, .verify = cpufreq_generic_frequency_table_verify, .target_index = set_target, .get = cpufreq_generic_get, .init = cpufreq_init, .exit = cpufreq_exit, - .ready = cpufreq_ready, .name = "cpufreq-dt", .attr = cpufreq_dt_attr, .suspend = cpufreq_generic_suspend, From patchwork Mon Jan 14 16:34:59 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amit Kucheria X-Patchwork-Id: 10763131 X-Patchwork-Delegate: agross@codeaurora.org Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8B4E9746 for ; Mon, 14 Jan 2019 16:42:07 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7C4C1294AA for ; Mon, 14 Jan 2019 16:42:07 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 70C882966E; Mon, 14 Jan 2019 16:42:07 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 13D1229633 for ; Mon, 14 Jan 2019 16:42:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726751AbfANQmG (ORCPT ); Mon, 14 Jan 2019 11:42:06 -0500 Received: from mail-wm1-f66.google.com ([209.85.128.66]:40654 "EHLO mail-wm1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726749AbfANQmG (ORCPT ); Mon, 14 Jan 2019 11:42:06 -0500 Received: by mail-wm1-f66.google.com with SMTP id f188so208475wmf.5 for ; Mon, 14 Jan 2019 08:42:05 -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=QV55M5UT9ckgy/+9mgu7lB9S5ppe7rLYbFWvyS23/Cg=; b=Vn/oqcY/P63zY8ZUM+xRQ9jA/yok6Av41I0Nbd/XBcMYaybRLswoqC+bZ7zFthiL99 AD8roHRXIq4z/jltTQDQy+bZ3SYq2XsqBoRpBPDqUlr3MrNNQ8pHTqOE2xiKwhPFJy1I +jhPvzj5X/ykiwTALhSNyEO8GSfyjhARHv/Z8= 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=QV55M5UT9ckgy/+9mgu7lB9S5ppe7rLYbFWvyS23/Cg=; b=Y+6hUOKumKtUSLg4tN1xscaTqJAD2o5xaWEp795QfoazIZmg8An0OA1BUGzWmYADJA /xpquG2dgnm4kLeqadlxziwyolnK800XCAkFiblAQS+IQn0K42239+sY3nIiQ/mfE6Df sJI+C1raqgZqR0djgQUHHxwlKg9DyGibJEMCY4/KF1EL98RqIgkSamrNnrqEAOQSpqF4 HggsjrPdqYMRhYgs9M3Sx7I/NA+hUBnHv6pxJ5IhSRiPBZfa6OQIipU7mP/NLtkUNC4D 7JB7WU4qBdMyXHlawBvd6GuiEo0jWxrCZv+8xqtBZAHeanSmFvydiMVXcmsKUsmfrSKf YsTw== X-Gm-Message-State: AJcUukewuAIbvsk/FhIWrwl3/o4XVrPIIVvSZKknbA5xx6n+/HtgzhdE IVStUQXuYy3xxDkNCCMyz6UfGA== X-Google-Smtp-Source: ALg8bN7mqoKQiOsb2WAqJ6DGUQ8jr6Te4CeoL5mDym674Xao19ig/KGBq4YHGSzRMedmhyjopdmoEQ== X-Received: by 2002:a1c:2007:: with SMTP id g7mr12266919wmg.79.1547484124495; Mon, 14 Jan 2019 08:42:04 -0800 (PST) Received: from localhost ([49.248.190.171]) by smtp.gmail.com with ESMTPSA id k3sm110603159wrm.7.2019.01.14.08.42.02 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 14 Jan 2019 08:42:03 -0800 (PST) From: Amit Kucheria To: linux-kernel@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, viresh.kumar@linaro.org, edubezval@gmail.com, swboyd@chromium.org, dianders@chromium.org, mka@chromium.org, "Rafael J. Wysocki" , Matthias Brugger , Sean Wang , linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Subject: [PATCH v1 07/10] cpufreq: mediatek: Use auto-registration of thermal cooling device Date: Mon, 14 Jan 2019 22:04:59 +0530 Message-Id: X-Mailer: git-send-email 2.17.1 In-Reply-To: References: In-Reply-To: References: Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Use the CPUFREQ_AUTO_REGISTER_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 --- drivers/cpufreq/mediatek-cpufreq.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/drivers/cpufreq/mediatek-cpufreq.c b/drivers/cpufreq/mediatek-cpufreq.c index eb8920d39818..9a937f4c63e7 100644 --- a/drivers/cpufreq/mediatek-cpufreq.c +++ b/drivers/cpufreq/mediatek-cpufreq.c @@ -14,7 +14,6 @@ #include #include -#include #include #include #include @@ -48,7 +47,6 @@ struct mtk_cpu_dvfs_info { struct regulator *sram_reg; struct clk *cpu_clk; struct clk *inter_clk; - struct thermal_cooling_device *cdev; struct list_head list_head; int intermediate_voltage; bool need_voltage_tracking; @@ -307,13 +305,6 @@ static int mtk_cpufreq_set_target(struct cpufreq_policy *policy, #define DYNAMIC_POWER "dynamic-power-coefficient" -static void mtk_cpufreq_ready(struct cpufreq_policy *policy) -{ - struct mtk_cpu_dvfs_info *info = policy->driver_data; - - info->cdev = of_cpufreq_cooling_register(policy); -} - static int mtk_cpu_dvfs_info_init(struct mtk_cpu_dvfs_info *info, int cpu) { struct device *cpu_dev; @@ -472,7 +463,6 @@ static int mtk_cpufreq_exit(struct cpufreq_policy *policy) { struct mtk_cpu_dvfs_info *info = policy->driver_data; - cpufreq_cooling_unregister(info->cdev); dev_pm_opp_free_cpufreq_table(info->cpu_dev, &policy->freq_table); return 0; @@ -480,13 +470,13 @@ static int mtk_cpufreq_exit(struct cpufreq_policy *policy) static struct cpufreq_driver mtk_cpufreq_driver = { .flags = CPUFREQ_STICKY | CPUFREQ_NEED_INITIAL_FREQ_CHECK | - CPUFREQ_HAVE_GOVERNOR_PER_POLICY, + CPUFREQ_HAVE_GOVERNOR_PER_POLICY | + CPUFREQ_AUTO_REGISTER_COOLING_DEV, .verify = cpufreq_generic_frequency_table_verify, .target_index = mtk_cpufreq_set_target, .get = cpufreq_generic_get, .init = mtk_cpufreq_init, .exit = mtk_cpufreq_exit, - .ready = mtk_cpufreq_ready, .name = "mtk-cpufreq", .attr = cpufreq_generic_attr, }; From patchwork Mon Jan 14 16:35:00 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amit Kucheria X-Patchwork-Id: 10763143 X-Patchwork-Delegate: agross@codeaurora.org Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id D872F1390 for ; Mon, 14 Jan 2019 16:42:43 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C9D6929274 for ; Mon, 14 Jan 2019 16:42:43 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BB17C295D6; Mon, 14 Jan 2019 16:42:43 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7652A2955E for ; Mon, 14 Jan 2019 16:42:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726696AbfANQmk (ORCPT ); Mon, 14 Jan 2019 11:42:40 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:36665 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726643AbfANQmk (ORCPT ); Mon, 14 Jan 2019 11:42:40 -0500 Received: by mail-wr1-f66.google.com with SMTP id u4so23691573wrp.3 for ; Mon, 14 Jan 2019 08:42:39 -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=T0qbmuuRPxDVtPya/S7z9HnIzaHUQLSLFndkXz9dAlg=; b=hUR5lnVQxUsyQqZ4Em0vpOTZK9O9zFAw0JABe/OkS6Qpz/WFaSndphU2Parq875aPr gs1kgLl0WEYPvYB/8xZBtnZqUkSqFKvjMuXBwn05KtYpaLI30C5Nt2ytaQk+t4kIOCi0 f9tgxnuO7EZX7EmA1UgdESuBqgvbuMFcq86HA= 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=T0qbmuuRPxDVtPya/S7z9HnIzaHUQLSLFndkXz9dAlg=; b=SkwaeMv/0DMBfVfn9e9HYF4JYOYbhY2/gVw4/rFlx1HkmbTT9d/Em8BtUjG5RvQGf1 4n/jJQi2WToL7p7cZauPccXOrTZQukIu7sTFcUNPelaA/tLFbOkGB3Jr7a0JVdi5iTs8 6FKGPckI0kvs+omGPqJ6zD/f6pVG6uSz5Ju36iSIIkpKO76HEoNK9XgiJIfwB8KPXDEC XF3GjQYKh2efTIuiLFBeGuKSM2tz/zLBlEiefWweNtRDgnzr6rm3QDjrLLym946bBb+D 529/NI4Yz+WOhy0WK0nlXPii6mW8E9cpAxl9WF6UwTO7fEpaucIA/WTsawBQQMieNQgK pVhw== X-Gm-Message-State: AJcUukepqsq/DkyzIsGnQQ8nF39CS2rfF/aRBqi58c+7Gh50QOfaSoTp 76RKnWHFg+TV47UWaZer3B6OJw== X-Google-Smtp-Source: ALg8bN7iW2a2Fjmj8hVmmP5eU+CkDRcUKqCSAcmaYJMu1QV5cM1QOHajlDjxNaPhbQCt1v86C/Qufg== X-Received: by 2002:adf:92a4:: with SMTP id 33mr24707627wrn.11.1547484158818; Mon, 14 Jan 2019 08:42:38 -0800 (PST) Received: from localhost ([49.248.190.171]) by smtp.gmail.com with ESMTPSA id h17sm70359262wrt.59.2019.01.14.08.42.37 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 14 Jan 2019 08:42:38 -0800 (PST) From: Amit Kucheria To: linux-kernel@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, viresh.kumar@linaro.org, edubezval@gmail.com, swboyd@chromium.org, dianders@chromium.org, mka@chromium.org, "Rafael J. Wysocki" , Tang Yuantian , linux-pm@vger.kernel.org Subject: [PATCH v1 08/10] cpufreq: qoriq: Use auto-registration of thermal cooling device Date: Mon, 14 Jan 2019 22:05:00 +0530 Message-Id: X-Mailer: git-send-email 2.17.1 In-Reply-To: References: In-Reply-To: References: Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Use the CPUFREQ_AUTO_REGISTER_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 --- drivers/cpufreq/qoriq-cpufreq.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/drivers/cpufreq/qoriq-cpufreq.c b/drivers/cpufreq/qoriq-cpufreq.c index 3d773f64b4df..b206e6cb55f0 100644 --- a/drivers/cpufreq/qoriq-cpufreq.c +++ b/drivers/cpufreq/qoriq-cpufreq.c @@ -13,7 +13,6 @@ #include #include #include -#include #include #include #include @@ -31,7 +30,6 @@ struct cpu_data { struct clk **pclk; struct cpufreq_frequency_table *table; - struct thermal_cooling_device *cdev; }; /* @@ -239,7 +237,6 @@ static int qoriq_cpufreq_cpu_exit(struct cpufreq_policy *policy) { struct cpu_data *data = policy->driver_data; - cpufreq_cooling_unregister(data->cdev); kfree(data->pclk); kfree(data->table); kfree(data); @@ -258,23 +255,15 @@ static int qoriq_cpufreq_target(struct cpufreq_policy *policy, return clk_set_parent(policy->clk, parent); } - -static void qoriq_cpufreq_ready(struct cpufreq_policy *policy) -{ - struct cpu_data *cpud = policy->driver_data; - - cpud->cdev = of_cpufreq_cooling_register(policy); -} - static struct cpufreq_driver qoriq_cpufreq_driver = { .name = "qoriq_cpufreq", - .flags = CPUFREQ_CONST_LOOPS, + .flags = CPUFREQ_CONST_LOOPS | + CPUFREQ_AUTO_REGISTER_COOLING_DEV, .init = qoriq_cpufreq_cpu_init, .exit = qoriq_cpufreq_cpu_exit, .verify = cpufreq_generic_frequency_table_verify, .target_index = qoriq_cpufreq_target, .get = cpufreq_generic_get, - .ready = qoriq_cpufreq_ready, .attr = cpufreq_generic_attr, }; From patchwork Mon Jan 14 16:35:01 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amit Kucheria X-Patchwork-Id: 10763147 X-Patchwork-Delegate: agross@codeaurora.org Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 79F78184E for ; Mon, 14 Jan 2019 16:43:15 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 680A529397 for ; Mon, 14 Jan 2019 16:43:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5C12529633; Mon, 14 Jan 2019 16:43:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0AAA2295D7 for ; Mon, 14 Jan 2019 16:43:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726724AbfANQnO (ORCPT ); Mon, 14 Jan 2019 11:43:14 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:34924 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726742AbfANQnO (ORCPT ); Mon, 14 Jan 2019 11:43:14 -0500 Received: by mail-wr1-f66.google.com with SMTP id 96so23690567wrb.2 for ; Mon, 14 Jan 2019 08:43:13 -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=mDodrn+SCjmkCblcpvbM4z/vNhnHCT5BvbpgksmUkgc=; b=Fhy70gTL0OMX9xMLnahPm61C2gyyRa/Xm4VRechtSjnkGyMbcPSkmfRt3cnQNNqQQ7 8fc921xreoiDTRnUNG8vNvQGRtCba0fQmxktSO/vqXw2OhKGxHwXekV7VUmqX6pZRXgW A7SLloAtz9L09a9i5Yvv0XYBV2Ma17qDbQuVQ= 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=mDodrn+SCjmkCblcpvbM4z/vNhnHCT5BvbpgksmUkgc=; b=BKt3sIVS5Oxj2E1Pj9SBxB5CEpLIcY+R5Xl4As7SN6ARK1eeN6buBTWKsuHr8KhunM +LqSeGhOgxgJSThgTDOh/3o2mGeRh7TX21zcgELMT/YFlqDXu8+tsBsKJ0aYGw+7LM73 JwpqCE/a5wjqgBLfuQzTLvDErCW3XDIpHst573P6p+OWntuD+IoJzY3r4tBOQZf4Hr1k Pux0x+H4bNhUUjuamKNewdl2Emo0ziBLT+TLm1XeXN/IAe0feLSJ7FNsVljxIN0NR80P tHnCqWAW56vqMFfzxcEbls+4o4km+eMFqVeZG/uMxKZihGkHoHwxnpgzNYc4Ir7GF+9M mK+Q== X-Gm-Message-State: AJcUukdQMZGB/xlecS4rSTOJmI7/inxfNBfquu5GKHO7icMLrGgR7MM8 u7CBFsIevdJJsgSnb90Tvt3M6g== X-Google-Smtp-Source: ALg8bN6zHe/OsxMKKheKzh7ajANwFUVMRdZ/FaxbB5Jsbc3WBwdpnCitCEDI+OI3cXEFT2xKrPhDtw== X-Received: by 2002:a5d:45d0:: with SMTP id b16mr23989728wrs.86.1547484192218; Mon, 14 Jan 2019 08:43:12 -0800 (PST) Received: from localhost ([49.248.190.171]) by smtp.gmail.com with ESMTPSA id s132sm12237023wmf.28.2019.01.14.08.43.10 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 14 Jan 2019 08:43:11 -0800 (PST) From: Amit Kucheria To: linux-kernel@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, viresh.kumar@linaro.org, edubezval@gmail.com, swboyd@chromium.org, dianders@chromium.org, mka@chromium.org, Sudeep Holla , "Rafael J. Wysocki" , linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org Subject: [PATCH v1 09/10] cpufreq: scmi: Use auto-registration of thermal cooling device Date: Mon, 14 Jan 2019 22:05:01 +0530 Message-Id: X-Mailer: git-send-email 2.17.1 In-Reply-To: References: In-Reply-To: References: Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Use the CPUFREQ_AUTO_REGISTER_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 --- drivers/cpufreq/scmi-cpufreq.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/drivers/cpufreq/scmi-cpufreq.c b/drivers/cpufreq/scmi-cpufreq.c index 50b1551ba894..f062a84a1175 100644 --- a/drivers/cpufreq/scmi-cpufreq.c +++ b/drivers/cpufreq/scmi-cpufreq.c @@ -11,7 +11,6 @@ #include #include #include -#include #include #include #include @@ -22,7 +21,6 @@ struct scmi_data { int domain_id; struct device *cpu_dev; - struct thermal_cooling_device *cdev; }; static const struct scmi_handle *handle; @@ -185,7 +183,6 @@ static int scmi_cpufreq_exit(struct cpufreq_policy *policy) { struct scmi_data *priv = policy->driver_data; - cpufreq_cooling_unregister(priv->cdev); dev_pm_opp_free_cpufreq_table(priv->cpu_dev, &policy->freq_table); kfree(priv); dev_pm_opp_cpumask_remove_table(policy->related_cpus); @@ -193,17 +190,11 @@ static int scmi_cpufreq_exit(struct cpufreq_policy *policy) return 0; } -static void scmi_cpufreq_ready(struct cpufreq_policy *policy) -{ - struct scmi_data *priv = policy->driver_data; - - priv->cdev = of_cpufreq_cooling_register(policy); -} - static struct cpufreq_driver scmi_cpufreq_driver = { .name = "scmi", .flags = CPUFREQ_STICKY | CPUFREQ_HAVE_GOVERNOR_PER_POLICY | - CPUFREQ_NEED_INITIAL_FREQ_CHECK, + CPUFREQ_NEED_INITIAL_FREQ_CHECK | + CPUFREQ_AUTO_REGISTER_COOLING_DEV, .verify = cpufreq_generic_frequency_table_verify, .attr = cpufreq_generic_attr, .target_index = scmi_cpufreq_set_target, @@ -211,7 +202,6 @@ static struct cpufreq_driver scmi_cpufreq_driver = { .get = scmi_cpufreq_get_rate, .init = scmi_cpufreq_init, .exit = scmi_cpufreq_exit, - .ready = scmi_cpufreq_ready, }; static int scmi_cpufreq_probe(struct scmi_device *sdev) From patchwork Mon Jan 14 16:35:02 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amit Kucheria X-Patchwork-Id: 10763153 X-Patchwork-Delegate: agross@codeaurora.org Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 379371390 for ; Mon, 14 Jan 2019 16:43:32 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 22FFE295D7 for ; Mon, 14 Jan 2019 16:43:32 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 146DD29633; Mon, 14 Jan 2019 16:43:32 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AF854295D7 for ; Mon, 14 Jan 2019 16:43:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726745AbfANQnb (ORCPT ); Mon, 14 Jan 2019 11:43:31 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:44026 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726902AbfANQna (ORCPT ); Mon, 14 Jan 2019 11:43:30 -0500 Received: by mail-wr1-f66.google.com with SMTP id r10so23661910wrs.10 for ; Mon, 14 Jan 2019 08:43:29 -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=8jUWUXinqrIEk2wbCrHnyISvXX2O3vcX46RGBCRFza8=; b=CZRSEX9xhalKjgqG4U+P2MSdMyDo7y7Xr/ytxGZM78A+F/9DrRIo/KhQWHyj5c1d9U i7GpifF0VdNNm1c/Ky6ueBZzsUWSqv1swnoeLzzbJJIe6CwwmAHNO2t6g0/JRxI3QeEk 0VHkhylq59Tre+6qsnnEjgjbSOedrDEZjKMFM= 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=8jUWUXinqrIEk2wbCrHnyISvXX2O3vcX46RGBCRFza8=; b=WT2gNSXqoGwgrnhvmW7ad9U8kB4FkrJIcbNIjHQqVajr1e6mvbi19f4ztDTQQNkMIQ NyRZcDu6SEctqxQp6f3qDPOemmO4t1KNt2BF5NhSKX09R5gdgMTLereOdc6IJIy1DomK Sd9UNvBDeYwc5e1mTYBHQFKmDH1jfJLoX8hB3MvEwKUd3ZBMMbnNi5JYKp5E64IzeeNZ wcrpKr8cChOJL5geuLGgialtrAt2GTKmL1OTZ9uRiv93l7maYiSBCjCk7j51Q53NQ27Y OwbIDHSwMx+AY6K6+25bO7YzZHNYZmmIumvO7YC4lF2NX+T2O++Ae1j0LivoZjMv6SxI ph0w== X-Gm-Message-State: AJcUukd/XskmkI89LAU3hQBupIiHbWWZu5SiQmi0vho5Ly04WyG3Z2bs vBAzGjzw+CCxG7R8/D7n3yi/cg== X-Google-Smtp-Source: ALg8bN7gnnHsFpYDNmwBC+drqi83as5YoAeuieSwHayKGL0PkzLBbetQmfvTApWSP/zr++6WgEITyw== X-Received: by 2002:adf:80cf:: with SMTP id 73mr25037001wrl.57.1547484208974; Mon, 14 Jan 2019 08:43:28 -0800 (PST) Received: from localhost ([49.248.190.171]) by smtp.gmail.com with ESMTPSA id f10sm7842762wmb.35.2019.01.14.08.43.27 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 14 Jan 2019 08:43:28 -0800 (PST) From: Amit Kucheria To: linux-kernel@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org, viresh.kumar@linaro.org, edubezval@gmail.com, swboyd@chromium.org, dianders@chromium.org, mka@chromium.org, Sudeep Holla , "Rafael J. Wysocki" , linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org Subject: [PATCH v1 10/10] cpufreq: scpi: Use auto-registration of thermal cooling device Date: Mon, 14 Jan 2019 22:05:02 +0530 Message-Id: X-Mailer: git-send-email 2.17.1 In-Reply-To: References: In-Reply-To: References: Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Use the CPUFREQ_AUTO_REGISTER_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 --- 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 87a98ec77773..c01c63a342c9 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_AUTO_REGISTER_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, };