From patchwork Wed Jul 23 13:00:48 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Petazzoni X-Patchwork-Id: 4610491 Return-Path: X-Original-To: patchwork-linux-pm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 6A63FC0514 for ; Wed, 23 Jul 2014 13:01:19 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 31F7F20179 for ; Wed, 23 Jul 2014 13:01:18 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id DF5B0201C8 for ; Wed, 23 Jul 2014 13:01:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753996AbaGWNBJ (ORCPT ); Wed, 23 Jul 2014 09:01:09 -0400 Received: from top.free-electrons.com ([176.31.233.9]:40731 "EHLO mail.free-electrons.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754536AbaGWNBI (ORCPT ); Wed, 23 Jul 2014 09:01:08 -0400 Received: by mail.free-electrons.com (Postfix, from userid 106) id E92934E00; Wed, 23 Jul 2014 15:01:07 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 Received: from localhost (col31-4-88-188-83-94.fbx.proxad.net [88.188.83.94]) by mail.free-electrons.com (Postfix) with ESMTPSA id 337BC15C; Wed, 23 Jul 2014 15:01:07 +0200 (CEST) From: Thomas Petazzoni To: Daniel Lezcano , "Rafael J. Wysocki" , linux-pm@vger.kernel.org, Jason Cooper , Andrew Lunn , Sebastian Hesselbarth , Gregory Clement Cc: Tawfik Bayouk , Nadav Haklai , Lior Amsalem , Ezequiel Garcia , linux-arm-kernel@lists.infradead.org, Thomas Petazzoni Subject: [PATCHv3 11/16] cpuidle: mvebu: rename the driver from armada-370-xp to mvebu-v7 Date: Wed, 23 Jul 2014 15:00:48 +0200 Message-Id: <1406120453-29291-12-git-send-email-thomas.petazzoni@free-electrons.com> X-Mailer: git-send-email 2.0.0 In-Reply-To: <1406120453-29291-1-git-send-email-thomas.petazzoni@free-electrons.com> References: <1406120453-29291-1-git-send-email-thomas.petazzoni@free-electrons.com> Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Gregory CLEMENT This driver will be able to manage the cpuidle for more SoCs than just Armada 370 and XP. It will also support Armada 38x and potentially other SoC of the Marvell Armada EBU family. To take this into account, this patch renames the driver and its symbols. It also changes the driver name from cpuidle-armada-370-xp to cpuidle-armada-xp, because separate platform drivers will be registered for the other SoC types. This change must be done simultaneously in the cpuidle driver and in the PMSU code in order to remain bisectable. Signed-off-by: Gregory CLEMENT Signed-off-by: Thomas Petazzoni Acked-by: Daniel Lezcano --- arch/arm/mach-mvebu/pmsu.c | 2 +- drivers/cpuidle/Kconfig.arm | 12 +++---- drivers/cpuidle/Makefile | 2 +- ...{cpuidle-armada-370-xp.c => cpuidle-mvebu-v7.c} | 39 +++++++++++----------- 4 files changed, 27 insertions(+), 28 deletions(-) rename drivers/cpuidle/{cpuidle-armada-370-xp.c => cpuidle-mvebu-v7.c} (58%) diff --git a/arch/arm/mach-mvebu/pmsu.c b/arch/arm/mach-mvebu/pmsu.c index 15e67bf..0cd2d09 100644 --- a/arch/arm/mach-mvebu/pmsu.c +++ b/arch/arm/mach-mvebu/pmsu.c @@ -76,7 +76,7 @@ extern void armada_370_xp_cpu_resume(void); static void *mvebu_cpu_resume; static struct platform_device mvebu_v7_cpuidle_device = { - .name = "cpuidle-armada-370-xp", + .name = "cpuidle-armada-xp", }; static struct of_device_id of_pmsu_table[] = { diff --git a/drivers/cpuidle/Kconfig.arm b/drivers/cpuidle/Kconfig.arm index b6d69e8..a563427 100644 --- a/drivers/cpuidle/Kconfig.arm +++ b/drivers/cpuidle/Kconfig.arm @@ -1,12 +1,6 @@ # # ARM CPU Idle drivers # -config ARM_ARMADA_370_XP_CPUIDLE - bool "CPU Idle Driver for Armada 370/XP family processors" - depends on ARCH_MVEBU - help - Select this to enable cpuidle on Armada 370/XP processors. - config ARM_BIG_LITTLE_CPUIDLE bool "Support for ARM big.LITTLE processors" depends on ARCH_VEXPRESS_TC2_PM @@ -61,3 +55,9 @@ config ARM_EXYNOS_CPUIDLE depends on ARCH_EXYNOS help Select this to enable cpuidle for Exynos processors + +config ARM_MVEBU_V7_CPUIDLE + bool "CPU Idle Driver for mvebu v7 family processors" + depends on ARCH_MVEBU + help + Select this to enable cpuidle on Armada 370, 38x and XP processors. diff --git a/drivers/cpuidle/Makefile b/drivers/cpuidle/Makefile index d8bb1ff..11edb31 100644 --- a/drivers/cpuidle/Makefile +++ b/drivers/cpuidle/Makefile @@ -7,7 +7,7 @@ obj-$(CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED) += coupled.o ################################################################################## # ARM SoC drivers -obj-$(CONFIG_ARM_ARMADA_370_XP_CPUIDLE) += cpuidle-armada-370-xp.o +obj-$(CONFIG_ARM_MVEBU_V7_CPUIDLE) += cpuidle-mvebu-v7.o obj-$(CONFIG_ARM_BIG_LITTLE_CPUIDLE) += cpuidle-big_little.o obj-$(CONFIG_ARM_CLPS711X_CPUIDLE) += cpuidle-clps711x.o obj-$(CONFIG_ARM_HIGHBANK_CPUIDLE) += cpuidle-calxeda.o diff --git a/drivers/cpuidle/cpuidle-armada-370-xp.c b/drivers/cpuidle/cpuidle-mvebu-v7.c similarity index 58% rename from drivers/cpuidle/cpuidle-armada-370-xp.c rename to drivers/cpuidle/cpuidle-mvebu-v7.c index 28587d0..7252fd8 100644 --- a/drivers/cpuidle/cpuidle-armada-370-xp.c +++ b/drivers/cpuidle/cpuidle-mvebu-v7.c @@ -21,12 +21,11 @@ #include #include -#define ARMADA_370_XP_MAX_STATES 3 -#define ARMADA_370_XP_FLAG_DEEP_IDLE 0x10000 +#define MVEBU_V7_FLAG_DEEP_IDLE 0x10000 -static int (*armada_370_xp_cpu_suspend)(int); +static int (*mvebu_v7_cpu_suspend)(int); -static int armada_370_xp_enter_idle(struct cpuidle_device *dev, +static int mvebu_v7_enter_idle(struct cpuidle_device *dev, struct cpuidle_driver *drv, int index) { @@ -34,10 +33,10 @@ static int armada_370_xp_enter_idle(struct cpuidle_device *dev, bool deepidle = false; cpu_pm_enter(); - if (drv->states[index].flags & ARMADA_370_XP_FLAG_DEEP_IDLE) + if (drv->states[index].flags & MVEBU_V7_FLAG_DEEP_IDLE) deepidle = true; - ret = armada_370_xp_cpu_suspend(deepidle); + ret = mvebu_v7_cpu_suspend(deepidle); if (ret) return ret; @@ -46,11 +45,11 @@ static int armada_370_xp_enter_idle(struct cpuidle_device *dev, return index; } -static struct cpuidle_driver armada_370_xp_idle_driver = { - .name = "armada_370_xp_idle", +static struct cpuidle_driver armadaxp_idle_driver = { + .name = "armada_xp_idle", .states[0] = ARM_CPUIDLE_WFI_STATE, .states[1] = { - .enter = armada_370_xp_enter_idle, + .enter = mvebu_v7_enter_idle, .exit_latency = 10, .power_usage = 50, .target_residency = 100, @@ -59,35 +58,35 @@ static struct cpuidle_driver armada_370_xp_idle_driver = { .desc = "CPU power down", }, .states[2] = { - .enter = armada_370_xp_enter_idle, + .enter = mvebu_v7_enter_idle, .exit_latency = 100, .power_usage = 5, .target_residency = 1000, .flags = CPUIDLE_FLAG_TIME_VALID | - ARMADA_370_XP_FLAG_DEEP_IDLE, + MVEBU_V7_FLAG_DEEP_IDLE, .name = "MV CPU DEEP IDLE", .desc = "CPU and L2 Fabric power down", }, - .state_count = ARMADA_370_XP_MAX_STATES, + .state_count = 3, }; -static int armada_370_xp_cpuidle_probe(struct platform_device *pdev) +static int mvebu_v7_cpuidle_probe(struct platform_device *pdev) { - armada_370_xp_cpu_suspend = (void *)(pdev->dev.platform_data); - return cpuidle_register(&armada_370_xp_idle_driver, NULL); + mvebu_v7_cpu_suspend = pdev->dev.platform_data; + return cpuidle_register(&armadaxp_idle_driver, NULL); } -static struct platform_driver armada_370_xp_cpuidle_plat_driver = { +static struct platform_driver armadaxp_cpuidle_plat_driver = { .driver = { - .name = "cpuidle-armada-370-xp", + .name = "cpuidle-armada-xp", .owner = THIS_MODULE, }, - .probe = armada_370_xp_cpuidle_probe, + .probe = mvebu_v7_cpuidle_probe, }; -module_platform_driver(armada_370_xp_cpuidle_plat_driver); +module_platform_driver(armadaxp_cpuidle_plat_driver); MODULE_AUTHOR("Gregory CLEMENT "); -MODULE_DESCRIPTION("Armada 370/XP cpu idle driver"); +MODULE_DESCRIPTION("Marvell EBU v7 cpuidle driver"); MODULE_LICENSE("GPL");