From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: Rob Herring <robherring2@gmail.com>
Cc: rjw@sisk.pl, tglx@linutronix.de, andrew@lunn.ch,
linaro-kernel@lists.linaro.org, magnus.damm@gmail.com,
ben-linux@fluff.org, linux-pm@vger.kernel.org, nsekhar@ti.com,
patches@linaro.org, rob.herring@calxeda.com,
linux@arm.linux.org.uk, kevin.hilman@linaro.org,
horms@verge.net.au, jason@lakedaemon.net, kernel@pengutronix.de,
kgene.kim@samsung.com, plagnioj@jcrosoft.com, linux@maxim.org.za,
linux-arm-kernel@lists.infradead.org, lenb@kernel.org
Subject: Re: [PATCH 00/15] ARM: cpuidle: code consolidation
Date: Mon, 25 Mar 2013 22:55:23 +0100 [thread overview]
Message-ID: <5150C7CB.6080400@linaro.org> (raw)
In-Reply-To: <5150B327.5010507@gmail.com>
On 03/25/2013 09:27 PM, Rob Herring wrote:
> On 03/25/2013 12:55 PM, Daniel Lezcano wrote:
>> The flag CPUIDLE_FLAG_TIMER_STOP has been introduced in the commit
>> 89878baa73f0f1c679355006bd8632e5d78f96c2.
>>
>> The flag tells the cpuidle framework the local timer will stop in the
>> idle state.
>>
>> It is now easy to know if the cpuidle driver will use or not the broadcast
>> timer by looking at the different states for this flag and then setup
>> the broadcast timer consequently.
>>
>> When we remove the timer initialization duplicated code in the different
>> drivers, we have most of the drivers with the same init function. This
>> init function is changed to be generic and moved in the ARM cpuidle driver
>> and used from the drivers. That cleanups code and removes a lot of annoying
>> duplicated code.
>>
>> There is still some modification in OMAP4, tegra2, tegra3 and imx, especially
>> around the coupled idle states, but we are more and more closer to a common
>> squeleton for all the ARM drivers.
>>
>> Daniel Lezcano (15):
>> timer: move enum definition out of ifdef section
>> cpuidle: initialize the broadcast timer framework
>> cpuidle: ux500: remove timer broadcast initialization
>> cpuidle: OMAP4: remove timer broadcast initialization
>> cpuidle: imx6: remove timer broadcast initialization
>> ARM: cpuidle: remove useless declaration
>> ARM: cpuidle: add init/exit routine
>> ARM: ux500: cpuidle: use init/exit common routine
>> ARM: at91: cpuidle: use init/exit common routine
>> ARM: OMAP3: cpuidle: use init/exit common routine
>> ARM: s3c64xx: cpuidle: use init/exit common routine
>> ARM: tegra1: cpuidle: use init/exit common routine
>> ARM: shmobile: pm: fix init sections
>> ARM: shmobile: cpuidle: remove useless WFI function
>> ARM: shmobile: cpuidle: use init/exit common routine
>>
>> arch/arm/include/asm/cpuidle.h | 11 +++---
>> arch/arm/kernel/cpuidle.c | 57 +++++++++++++++++++++++++++++++-
>> arch/arm/mach-at91/cpuidle.c | 17 ++--------
>> arch/arm/mach-imx/cpuidle-imx6q.c | 15 ---------
>> arch/arm/mach-omap2/cpuidle34xx.c | 18 ++--------
>> arch/arm/mach-omap2/cpuidle44xx.c | 14 --------
>> arch/arm/mach-s3c64xx/cpuidle.c | 15 ++-------
>> arch/arm/mach-shmobile/cpuidle.c | 22 ++----------
>> arch/arm/mach-shmobile/pm-sh7372.c | 4 +--
>> arch/arm/mach-tegra/cpuidle-tegra114.c | 27 +--------------
>> arch/arm/mach-ux500/cpuidle.c | 50 +---------------------------
>> drivers/cpuidle/driver.c | 35 ++++++++++++++++++--
>> include/linux/clockchips.h | 22 ++++++------
>> include/linux/cpuidle.h | 2 ++
>> 14 files changed, 120 insertions(+), 189 deletions(-)
>
> What happened to the Calxeda driver?
On the way...
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
WARNING: multiple messages have this Message-ID (diff)
From: daniel.lezcano@linaro.org (Daniel Lezcano)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 00/15] ARM: cpuidle: code consolidation
Date: Mon, 25 Mar 2013 22:55:23 +0100 [thread overview]
Message-ID: <5150C7CB.6080400@linaro.org> (raw)
In-Reply-To: <5150B327.5010507@gmail.com>
On 03/25/2013 09:27 PM, Rob Herring wrote:
> On 03/25/2013 12:55 PM, Daniel Lezcano wrote:
>> The flag CPUIDLE_FLAG_TIMER_STOP has been introduced in the commit
>> 89878baa73f0f1c679355006bd8632e5d78f96c2.
>>
>> The flag tells the cpuidle framework the local timer will stop in the
>> idle state.
>>
>> It is now easy to know if the cpuidle driver will use or not the broadcast
>> timer by looking at the different states for this flag and then setup
>> the broadcast timer consequently.
>>
>> When we remove the timer initialization duplicated code in the different
>> drivers, we have most of the drivers with the same init function. This
>> init function is changed to be generic and moved in the ARM cpuidle driver
>> and used from the drivers. That cleanups code and removes a lot of annoying
>> duplicated code.
>>
>> There is still some modification in OMAP4, tegra2, tegra3 and imx, especially
>> around the coupled idle states, but we are more and more closer to a common
>> squeleton for all the ARM drivers.
>>
>> Daniel Lezcano (15):
>> timer: move enum definition out of ifdef section
>> cpuidle: initialize the broadcast timer framework
>> cpuidle: ux500: remove timer broadcast initialization
>> cpuidle: OMAP4: remove timer broadcast initialization
>> cpuidle: imx6: remove timer broadcast initialization
>> ARM: cpuidle: remove useless declaration
>> ARM: cpuidle: add init/exit routine
>> ARM: ux500: cpuidle: use init/exit common routine
>> ARM: at91: cpuidle: use init/exit common routine
>> ARM: OMAP3: cpuidle: use init/exit common routine
>> ARM: s3c64xx: cpuidle: use init/exit common routine
>> ARM: tegra1: cpuidle: use init/exit common routine
>> ARM: shmobile: pm: fix init sections
>> ARM: shmobile: cpuidle: remove useless WFI function
>> ARM: shmobile: cpuidle: use init/exit common routine
>>
>> arch/arm/include/asm/cpuidle.h | 11 +++---
>> arch/arm/kernel/cpuidle.c | 57 +++++++++++++++++++++++++++++++-
>> arch/arm/mach-at91/cpuidle.c | 17 ++--------
>> arch/arm/mach-imx/cpuidle-imx6q.c | 15 ---------
>> arch/arm/mach-omap2/cpuidle34xx.c | 18 ++--------
>> arch/arm/mach-omap2/cpuidle44xx.c | 14 --------
>> arch/arm/mach-s3c64xx/cpuidle.c | 15 ++-------
>> arch/arm/mach-shmobile/cpuidle.c | 22 ++----------
>> arch/arm/mach-shmobile/pm-sh7372.c | 4 +--
>> arch/arm/mach-tegra/cpuidle-tegra114.c | 27 +--------------
>> arch/arm/mach-ux500/cpuidle.c | 50 +---------------------------
>> drivers/cpuidle/driver.c | 35 ++++++++++++++++++--
>> include/linux/clockchips.h | 22 ++++++------
>> include/linux/cpuidle.h | 2 ++
>> 14 files changed, 120 insertions(+), 189 deletions(-)
>
> What happened to the Calxeda driver?
On the way...
--
<http://www.linaro.org/> Linaro.org ? Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
next prev parent reply other threads:[~2013-03-25 21:55 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-25 17:55 [PATCH 00/15] ARM: cpuidle: code consolidation Daniel Lezcano
2013-03-25 17:55 ` Daniel Lezcano
2013-03-25 17:55 ` [PATCH 01/15] timer: move enum definition out of ifdef section Daniel Lezcano
2013-03-25 17:55 ` Daniel Lezcano
2013-03-26 4:36 ` Santosh Shilimkar
2013-03-26 4:36 ` Santosh Shilimkar
2013-03-26 9:55 ` Daniel Lezcano
2013-03-26 9:55 ` Daniel Lezcano
2013-03-25 17:55 ` [PATCH 02/15] cpuidle: initialize the broadcast timer framework Daniel Lezcano
2013-03-25 17:55 ` Daniel Lezcano
2013-03-26 4:39 ` Santosh Shilimkar
2013-03-26 4:39 ` Santosh Shilimkar
2013-03-25 17:55 ` [PATCH 03/15] cpuidle: ux500: remove timer broadcast initialization Daniel Lezcano
2013-03-25 17:55 ` Daniel Lezcano
2013-03-27 14:46 ` Linus Walleij
2013-03-27 14:46 ` Linus Walleij
2013-03-25 17:55 ` [PATCH 04/15] cpuidle: OMAP4: " Daniel Lezcano
2013-03-25 17:55 ` Daniel Lezcano
2013-03-26 4:41 ` Santosh Shilimkar
2013-03-26 4:41 ` Santosh Shilimkar
2013-03-25 17:55 ` [PATCH 05/15] cpuidle: imx6: " Daniel Lezcano
2013-03-25 17:55 ` Daniel Lezcano
2013-03-26 7:25 ` Shawn Guo
2013-03-26 7:25 ` Shawn Guo
2013-03-26 9:43 ` Daniel Lezcano
2013-03-26 9:43 ` Daniel Lezcano
2013-03-26 12:40 ` Shawn Guo
2013-03-26 12:40 ` Shawn Guo
2013-03-26 12:53 ` Daniel Lezcano
2013-03-26 12:53 ` Daniel Lezcano
2013-03-26 13:06 ` Rafael J. Wysocki
2013-03-26 13:06 ` Rafael J. Wysocki
2013-03-26 14:28 ` Shawn Guo
2013-03-26 14:28 ` Shawn Guo
2013-03-25 17:55 ` [PATCH 06/15] ARM: cpuidle: remove useless declaration Daniel Lezcano
2013-03-25 17:55 ` Daniel Lezcano
2013-03-25 17:55 ` [PATCH 07/15] ARM: cpuidle: add init/exit routine Daniel Lezcano
2013-03-25 17:55 ` Daniel Lezcano
2013-03-25 18:10 ` Andrew Lunn
2013-03-25 18:10 ` Andrew Lunn
2013-03-25 18:33 ` Daniel Lezcano
2013-03-25 18:33 ` Daniel Lezcano
2013-03-25 19:09 ` Andrew Lunn
2013-03-25 19:09 ` Andrew Lunn
2013-03-25 19:20 ` Daniel Lezcano
2013-03-25 19:20 ` Daniel Lezcano
2013-03-25 19:31 ` Amit Kucheria
2013-03-25 19:31 ` Amit Kucheria
2013-03-25 19:46 ` Daniel Lezcano
2013-03-25 19:46 ` Daniel Lezcano
2013-03-25 21:42 ` Andrew Lunn
2013-03-25 21:42 ` Andrew Lunn
2013-03-25 22:09 ` Daniel Lezcano
2013-03-25 22:09 ` Daniel Lezcano
2013-03-25 20:28 ` Nicolas Pitre
2013-03-25 20:28 ` Nicolas Pitre
2013-03-25 21:53 ` Daniel Lezcano
2013-03-25 21:53 ` Daniel Lezcano
2013-03-25 21:57 ` Nicolas Pitre
2013-03-25 21:57 ` Nicolas Pitre
2013-03-25 17:55 ` [PATCH 08/15] ARM: ux500: cpuidle: use init/exit common routine Daniel Lezcano
2013-03-25 17:55 ` Daniel Lezcano
2013-03-27 14:47 ` Linus Walleij
2013-03-27 14:47 ` Linus Walleij
2013-03-25 17:55 ` [PATCH 09/15] ARM: at91: " Daniel Lezcano
2013-03-25 17:55 ` Daniel Lezcano
2013-03-26 8:48 ` Nicolas Ferre
2013-03-26 8:48 ` Nicolas Ferre
2013-03-25 17:55 ` [PATCH 10/15] ARM: OMAP3: " Daniel Lezcano
2013-03-25 17:55 ` Daniel Lezcano
2013-03-25 17:55 ` [PATCH 11/15] ARM: s3c64xx: " Daniel Lezcano
2013-03-25 17:55 ` Daniel Lezcano
2013-03-25 17:55 ` [PATCH 12/15] ARM: tegra1: " Daniel Lezcano
2013-03-25 17:55 ` Daniel Lezcano
2013-03-25 17:55 ` [PATCH 13/15] ARM: shmobile: pm: fix init sections Daniel Lezcano
2013-03-25 17:55 ` Daniel Lezcano
2013-03-27 14:09 ` Simon Horman
2013-03-27 14:09 ` Simon Horman
2013-03-25 17:55 ` [PATCH 14/15] ARM: shmobile: cpuidle: remove useless WFI function Daniel Lezcano
2013-03-25 17:55 ` Daniel Lezcano
2013-03-27 14:09 ` Simon Horman
2013-03-27 14:09 ` Simon Horman
2013-03-25 17:55 ` [PATCH 15/15] ARM: shmobile: cpuidle: use init/exit common routine Daniel Lezcano
2013-03-25 17:55 ` Daniel Lezcano
2013-03-27 14:10 ` Simon Horman
2013-03-27 14:10 ` Simon Horman
2013-03-25 20:27 ` [PATCH 00/15] ARM: cpuidle: code consolidation Rob Herring
2013-03-25 20:27 ` Rob Herring
2013-03-25 21:55 ` Daniel Lezcano [this message]
2013-03-25 21:55 ` Daniel Lezcano
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=5150C7CB.6080400@linaro.org \
--to=daniel.lezcano@linaro.org \
--cc=andrew@lunn.ch \
--cc=ben-linux@fluff.org \
--cc=horms@verge.net.au \
--cc=jason@lakedaemon.net \
--cc=kernel@pengutronix.de \
--cc=kevin.hilman@linaro.org \
--cc=kgene.kim@samsung.com \
--cc=lenb@kernel.org \
--cc=linaro-kernel@lists.linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=linux@maxim.org.za \
--cc=magnus.damm@gmail.com \
--cc=nsekhar@ti.com \
--cc=patches@linaro.org \
--cc=plagnioj@jcrosoft.com \
--cc=rjw@sisk.pl \
--cc=rob.herring@calxeda.com \
--cc=robherring2@gmail.com \
--cc=tglx@linutronix.de \
/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: link
Be 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.