From: Daniel Lezcano <daniel.lezcano@linaro.org> To: kgene.kim@samsung.com Cc: linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, t.figa@samsung.com, linaro-kernel@lists.linaro.org, b.zolnierkie@samsung.com, sachin.kamat@linaro.org, viresh.kumar@linaro.org, rjw@rjwysocki.net Subject: [PATCH V3 16/17] ARM: exynos: cpuidle: Pass the AFTR callback to the platform_data Date: Tue, 8 Apr 2014 14:19:38 +0200 [thread overview] Message-ID: <1396959579-18268-17-git-send-email-daniel.lezcano@linaro.org> (raw) In-Reply-To: <1396959579-18268-1-git-send-email-daniel.lezcano@linaro.org> No more dependency on the arch code. The platform_data field is used to set the PM callback as the other cpuidle drivers. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> --- arch/arm/mach-exynos/common.h | 1 + arch/arm/mach-exynos/cpuidle.c | 6 ++++-- arch/arm/mach-exynos/exynos.c | 5 +++-- arch/arm/mach-exynos/pmu.c | 6 ++++++ 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/arch/arm/mach-exynos/common.h b/arch/arm/mach-exynos/common.h index 9ef3f83..7d9432e 100644 --- a/arch/arm/mach-exynos/common.h +++ b/arch/arm/mach-exynos/common.h @@ -62,5 +62,6 @@ struct exynos_pmu_conf { }; extern void exynos_sys_powerdown_conf(enum sys_powerdown mode); +extern void exynos_sys_powerdown_aftr(void); #endif /* __ARCH_ARM_MACH_EXYNOS_COMMON_H */ diff --git a/arch/arm/mach-exynos/cpuidle.c b/arch/arm/mach-exynos/cpuidle.c index a1f111e..25d2fad 100644 --- a/arch/arm/mach-exynos/cpuidle.c +++ b/arch/arm/mach-exynos/cpuidle.c @@ -16,12 +16,12 @@ #include <asm/suspend.h> #include <asm/cpuidle.h> -#include "common.h" +static void (*exynos_aftr)(void); static int idle_finisher(unsigned long flags) { /* Set value of power down register for aftr mode */ - exynos_sys_powerdown_conf(SYS_AFTR); + exynos_aftr(); cpu_do_idle(); return 1; } @@ -75,6 +75,8 @@ static int exynos_cpuidle_probe(struct platform_device *pdev) { int ret; + exynos_aftr = (void *)(pdev->dev.platform_data); + ret = cpuidle_register(&exynos_idle_driver, NULL); if (ret) { dev_err(&pdev->dev, "failed to register cpuidle driver\n"); diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c index fe8dac8..a7ab561 100644 --- a/arch/arm/mach-exynos/exynos.c +++ b/arch/arm/mach-exynos/exynos.c @@ -221,8 +221,9 @@ void exynos_restart(enum reboot_mode mode, const char *cmd) } static struct platform_device exynos_cpuidle = { - .name = "exynos_cpuidle", - .id = -1, + .name = "exynos_cpuidle", + .dev.platform_data = exynos_sys_powerdown_aftr, + .id = -1, }; void __init exynos_cpuidle_init(void) diff --git a/arch/arm/mach-exynos/pmu.c b/arch/arm/mach-exynos/pmu.c index 05c7ce1..fd1ae22 100644 --- a/arch/arm/mach-exynos/pmu.c +++ b/arch/arm/mach-exynos/pmu.c @@ -389,6 +389,12 @@ void exynos_sys_powerdown_conf(enum sys_powerdown mode) } } +/* Set value of power down register for aftr mode */ +void exynos_sys_powerdown_aftr(void) +{ + exynos_sys_powerdown_conf(SYS_AFTR); +} + static int __init exynos_pmu_init(void) { unsigned int value; -- 1.7.9.5
WARNING: multiple messages have this Message-ID (diff)
From: daniel.lezcano@linaro.org (Daniel Lezcano) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH V3 16/17] ARM: exynos: cpuidle: Pass the AFTR callback to the platform_data Date: Tue, 8 Apr 2014 14:19:38 +0200 [thread overview] Message-ID: <1396959579-18268-17-git-send-email-daniel.lezcano@linaro.org> (raw) In-Reply-To: <1396959579-18268-1-git-send-email-daniel.lezcano@linaro.org> No more dependency on the arch code. The platform_data field is used to set the PM callback as the other cpuidle drivers. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> --- arch/arm/mach-exynos/common.h | 1 + arch/arm/mach-exynos/cpuidle.c | 6 ++++-- arch/arm/mach-exynos/exynos.c | 5 +++-- arch/arm/mach-exynos/pmu.c | 6 ++++++ 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/arch/arm/mach-exynos/common.h b/arch/arm/mach-exynos/common.h index 9ef3f83..7d9432e 100644 --- a/arch/arm/mach-exynos/common.h +++ b/arch/arm/mach-exynos/common.h @@ -62,5 +62,6 @@ struct exynos_pmu_conf { }; extern void exynos_sys_powerdown_conf(enum sys_powerdown mode); +extern void exynos_sys_powerdown_aftr(void); #endif /* __ARCH_ARM_MACH_EXYNOS_COMMON_H */ diff --git a/arch/arm/mach-exynos/cpuidle.c b/arch/arm/mach-exynos/cpuidle.c index a1f111e..25d2fad 100644 --- a/arch/arm/mach-exynos/cpuidle.c +++ b/arch/arm/mach-exynos/cpuidle.c @@ -16,12 +16,12 @@ #include <asm/suspend.h> #include <asm/cpuidle.h> -#include "common.h" +static void (*exynos_aftr)(void); static int idle_finisher(unsigned long flags) { /* Set value of power down register for aftr mode */ - exynos_sys_powerdown_conf(SYS_AFTR); + exynos_aftr(); cpu_do_idle(); return 1; } @@ -75,6 +75,8 @@ static int exynos_cpuidle_probe(struct platform_device *pdev) { int ret; + exynos_aftr = (void *)(pdev->dev.platform_data); + ret = cpuidle_register(&exynos_idle_driver, NULL); if (ret) { dev_err(&pdev->dev, "failed to register cpuidle driver\n"); diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c index fe8dac8..a7ab561 100644 --- a/arch/arm/mach-exynos/exynos.c +++ b/arch/arm/mach-exynos/exynos.c @@ -221,8 +221,9 @@ void exynos_restart(enum reboot_mode mode, const char *cmd) } static struct platform_device exynos_cpuidle = { - .name = "exynos_cpuidle", - .id = -1, + .name = "exynos_cpuidle", + .dev.platform_data = exynos_sys_powerdown_aftr, + .id = -1, }; void __init exynos_cpuidle_init(void) diff --git a/arch/arm/mach-exynos/pmu.c b/arch/arm/mach-exynos/pmu.c index 05c7ce1..fd1ae22 100644 --- a/arch/arm/mach-exynos/pmu.c +++ b/arch/arm/mach-exynos/pmu.c @@ -389,6 +389,12 @@ void exynos_sys_powerdown_conf(enum sys_powerdown mode) } } +/* Set value of power down register for aftr mode */ +void exynos_sys_powerdown_aftr(void) +{ + exynos_sys_powerdown_conf(SYS_AFTR); +} + static int __init exynos_pmu_init(void) { unsigned int value; -- 1.7.9.5
next prev parent reply other threads:[~2014-04-08 12:19 UTC|newest] Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-04-08 12:19 [PATCH V3 00/17] ARM: exynos: cpuidle: Move the driver to drivers/cpuidle Daniel Lezcano 2014-04-08 12:19 ` Daniel Lezcano 2014-04-08 12:19 ` [PATCH V3 01/17] ARM: exynos: cpuidle: Prevent forward declaration Daniel Lezcano 2014-04-08 12:19 ` Daniel Lezcano 2014-04-08 12:19 ` [PATCH V3 02/17] ARM: exynos: cpuidle: use cpuidle_register Daniel Lezcano 2014-04-08 12:19 ` Daniel Lezcano 2014-04-08 12:19 ` [PATCH V3 03/17] ARM: exynos: cpuidle: change function name prefix Daniel Lezcano 2014-04-08 12:19 ` Daniel Lezcano 2014-04-08 12:19 ` [PATCH V3 04/17] ARM: exynos: cpuidle: encapsulate register access inside a function Daniel Lezcano 2014-04-08 12:19 ` Daniel Lezcano 2014-04-08 12:19 ` [PATCH V3 05/17] ARM: exynos: cpuidle: Move some code inside the idle_finisher Daniel Lezcano 2014-04-08 12:19 ` Daniel Lezcano 2014-04-08 12:19 ` [PATCH V3 06/17] ARM: exynos: cpuidle: Fix S5P_WAKEUP_STAT call Daniel Lezcano 2014-04-08 12:19 ` Daniel Lezcano 2014-04-08 12:19 ` [PATCH V3 07/17] ARM: exynos: cpuidle: Use the cpu_pm notifier Daniel Lezcano 2014-04-08 12:19 ` Daniel Lezcano 2014-04-08 12:19 ` [PATCH V3 08/17] ARM: exynos: cpuidle: Move scu_enable in " Daniel Lezcano 2014-04-08 12:19 ` Daniel Lezcano 2014-04-08 12:19 ` [PATCH V3 09/17] ARM: exynos: cpuidle: Remove ifdef for scu_enable Daniel Lezcano 2014-04-08 12:19 ` Daniel Lezcano 2014-04-08 12:19 ` [PATCH V3 10/17] ARM: exynos: cpuidle: Move exynos_set_wakeupmask in the cpu_pm notifier Daniel Lezcano 2014-04-08 12:19 ` Daniel Lezcano 2014-04-09 12:14 ` Tomasz Figa 2014-04-09 12:14 ` Tomasz Figa 2014-04-08 12:19 ` [PATCH V3 11/17] ARM: exynos: cpuidle: Move the power sequence call " Daniel Lezcano 2014-04-08 12:19 ` Daniel Lezcano 2014-04-09 12:17 ` Tomasz Figa 2014-04-09 12:17 ` Tomasz Figa 2014-04-09 13:33 ` Daniel Lezcano 2014-04-09 13:33 ` Daniel Lezcano 2014-04-08 12:19 ` [PATCH V3 12/17] ARM: exynos: cpuidle: Move S5P_CHECK_AFTR in a header Daniel Lezcano 2014-04-08 12:19 ` Daniel Lezcano 2014-04-09 12:21 ` Tomasz Figa 2014-04-09 12:21 ` Tomasz Figa 2014-04-08 12:19 ` [PATCH V3 13/17] ARM: exynos: cpuidle: Move clock setup to pm.c Daniel Lezcano 2014-04-08 12:19 ` Daniel Lezcano 2014-04-08 12:19 ` [PATCH V3 14/17] ARM: exynos: cpuidle: Move the boot vector in pm.c Daniel Lezcano 2014-04-08 12:19 ` Daniel Lezcano 2014-04-09 12:27 ` Tomasz Figa 2014-04-09 12:27 ` Tomasz Figa 2014-04-08 12:19 ` [PATCH V3 15/17] ARM: exynos: cpuidle: Disable cpuidle for 5440 Daniel Lezcano 2014-04-08 12:19 ` Daniel Lezcano [not found] ` <CAP245DUmBVeZqBYDc3mopvs_h5AkcTgjG2eO7z5VAQnUDJJogQ@mail.gmail.com> 2014-04-08 13:21 ` Daniel Lezcano 2014-04-08 13:21 ` Daniel Lezcano 2014-04-08 19:30 ` Nicolas Pitre 2014-04-08 19:30 ` Nicolas Pitre 2014-04-08 12:19 ` Daniel Lezcano [this message] 2014-04-08 12:19 ` [PATCH V3 16/17] ARM: exynos: cpuidle: Pass the AFTR callback to the platform_data Daniel Lezcano 2014-04-09 12:29 ` Tomasz Figa 2014-04-09 12:29 ` Tomasz Figa 2014-04-08 12:19 ` [PATCH V3 17/17] ARM: exynos: cpuidle: Move the driver to drivers/cpuidle directory Daniel Lezcano 2014-04-08 12:19 ` Daniel Lezcano 2014-04-09 12:30 ` [PATCH V3 00/17] ARM: exynos: cpuidle: Move the driver to drivers/cpuidle Tomasz Figa 2014-04-09 12:30 ` Tomasz Figa
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1396959579-18268-17-git-send-email-daniel.lezcano@linaro.org \ --to=daniel.lezcano@linaro.org \ --cc=b.zolnierkie@samsung.com \ --cc=kgene.kim@samsung.com \ --cc=linaro-kernel@lists.linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-samsung-soc@vger.kernel.org \ --cc=rjw@rjwysocki.net \ --cc=sachin.kamat@linaro.org \ --cc=t.figa@samsung.com \ --cc=viresh.kumar@linaro.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.