[PATCH 1/2] ARM: s3c64xx: cpuidle - declare the states with the new api
Kukjin Kim
kgene.kim at samsung.com
Thu May 17 03:02:09 EDT 2012
Daniel Lezcano wrote:
>
> The states are now part of the cpuidle_driver structure, so we can
> declare the states in this structure directly. That saves us an extra
> variable declaration and a memcpy.
>
> Signed-off-by: Daniel Lezcano <daniel.lezcano at linaro.org>
> ---
> arch/arm/mach-s3c64xx/cpuidle.c | 33 ++++++++++++++-------------------
> 1 files changed, 14 insertions(+), 19 deletions(-)
>
> diff --git a/arch/arm/mach-s3c64xx/cpuidle.c b/arch/arm/mach-
> s3c64xx/cpuidle.c
> index 179460f..2750e54 100644
> --- a/arch/arm/mach-s3c64xx/cpuidle.c
> +++ b/arch/arm/mach-s3c64xx/cpuidle.c
> @@ -51,33 +51,28 @@ static int s3c64xx_enter_idle(struct cpuidle_device
> *dev,
> return index;
> }
>
> -static struct cpuidle_state s3c64xx_cpuidle_set[] = {
> - [0] = {
> - .enter = s3c64xx_enter_idle,
> - .exit_latency = 1,
> - .target_residency = 1,
> - .flags = CPUIDLE_FLAG_TIME_VALID,
> - .name = "IDLE",
> - .desc = "System active, ARM gated",
> - },
> -};
> +static DEFINE_PER_CPU(struct cpuidle_device, s3c64xx_cpuidle_device);
>
> static struct cpuidle_driver s3c64xx_cpuidle_driver = {
> - .name = "s3c64xx_cpuidle",
> - .owner = THIS_MODULE,
> - .state_count = ARRAY_SIZE(s3c64xx_cpuidle_set),
> -};
> -
> -static struct cpuidle_device s3c64xx_cpuidle_device = {
> - .state_count = ARRAY_SIZE(s3c64xx_cpuidle_set),
> + .name = "s3c64xx_cpuidle",
> + .owner = THIS_MODULE,
I'd preferred to use original 'tab'
> + .states = {
> + {
> + .enter = s3c64xx_enter_idle,
> + .exit_latency = 1,
> + .target_residency = 1,
> + .flags = CPUIDLE_FLAG_TIME_VALID,
> + .name = "IDLE",
> + .desc = "System active, ARM gated",
> + },
> + },
> + .state_count = 1,
> };
>
> static int __init s3c64xx_init_cpuidle(void)
> {
> int ret;
>
> - memcpy(s3c64xx_cpuidle_driver.states, s3c64xx_cpuidle_set,
> - sizeof(s3c64xx_cpuidle_set));
> cpuidle_register_driver(&s3c64xx_cpuidle_driver);
>
> ret = cpuidle_register_device(&s3c64xx_cpuidle_device);
> --
> 1.7.5.4
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim at samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
More information about the linux-arm-kernel
mailing list