From: daniel.lezcano@linaro.org (Daniel Lezcano)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 06/17][V2] ARM: OMAP4: cpuidle - use the omap4_idle_data variable directly
Date: Wed, 4 Apr 2012 22:12:40 +0200 [thread overview]
Message-ID: <1333570371-1389-7-git-send-email-daniel.lezcano@linaro.org> (raw)
In-Reply-To: <1333570371-1389-1-git-send-email-daniel.lezcano@linaro.org>
We are storing the 'omap4_idle_data' in the private data field
of the cpuidle device. As we are using this variable only in this file,
that does not really make sense. Let's use the global variable directly
instead dereferencing pointers in an idle critical loop.
Also, that simplfies the code.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
---
arch/arm/mach-omap2/cpuidle44xx.c | 15 ++++-----------
1 files changed, 4 insertions(+), 11 deletions(-)
diff --git a/arch/arm/mach-omap2/cpuidle44xx.c b/arch/arm/mach-omap2/cpuidle44xx.c
index 5b20115..b82f9fe 100644
--- a/arch/arm/mach-omap2/cpuidle44xx.c
+++ b/arch/arm/mach-omap2/cpuidle44xx.c
@@ -24,7 +24,7 @@
#ifdef CONFIG_CPU_IDLE
-/* Machine specific information to be recorded in the C-state driver_data */
+/* Machine specific information */
struct omap4_idle_statedata {
u32 cpu_state;
u32 mpu_logic_state;
@@ -67,8 +67,7 @@ static int omap4_enter_idle(struct cpuidle_device *dev,
struct cpuidle_driver *drv,
int index)
{
- struct omap4_idle_statedata *cx =
- cpuidle_get_statedata(&dev->states_usage[index]);
+ struct omap4_idle_statedata *cx = &omap4_idle_data[index];
u32 cpu1_state;
int cpu_id = smp_processor_id();
@@ -85,7 +84,7 @@ static int omap4_enter_idle(struct cpuidle_device *dev,
cpu1_state = pwrdm_read_pwrst(cpu1_pd);
if (cpu1_state != PWRDM_POWER_OFF) {
index = drv->safe_state_index;
- cx = cpuidle_get_statedata(&dev->states_usage[index]);
+ cx = &omap4_idle_data[index];
}
if (index > 0)
@@ -178,15 +177,9 @@ static inline struct omap4_idle_statedata *_fill_cstate_usage(
int idx)
{
struct omap4_idle_statedata *cx = &omap4_idle_data[idx];
- struct cpuidle_state_usage *state_usage = &dev->states_usage[idx];
-
- cpuidle_set_statedata(state_usage, cx);
-
return cx;
}
-
-
/**
* omap4_idle_init - Init routine for OMAP4 idle
*
@@ -196,8 +189,8 @@ static inline struct omap4_idle_statedata *_fill_cstate_usage(
int __init omap4_idle_init(void)
{
struct omap4_idle_statedata *cx;
- struct cpuidle_device *dev;
struct cpuidle_driver *drv = &omap4_idle_driver;
+ struct cpuidle_device *dev;
unsigned int cpu_id = 0;
mpu_pd = pwrdm_lookup("mpu_pwrdm");
--
1.7.5.4
next prev parent reply other threads:[~2012-04-04 20:12 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-04 20:12 [PATCH 00/17][V2] ARM: OMAP3/4 : cpuidle34xx and cpuidle44xx cleanups Daniel Lezcano
2012-04-04 20:12 ` [PATCH 01/17][V2] ARM: OMAP4: cpuidle - Remove unused valid field Daniel Lezcano
2012-04-04 20:12 ` [PATCH 02/17][V2] ARM: OMAP4: cpuidle - Declare the states with the driver declaration Daniel Lezcano
2012-04-09 22:37 ` Kevin Hilman
2012-04-19 13:58 ` Daniel Lezcano
2012-04-23 14:06 ` Daniel Lezcano
2012-04-23 17:08 ` Kevin Hilman
2012-04-23 22:11 ` Daniel Lezcano
2012-04-24 0:27 ` Kevin Hilman
2012-04-04 20:12 ` [PATCH 03/17][V2] ARM: OMAP4: cpuidle - Remove the cpuidle_params_table table Daniel Lezcano
2012-04-04 20:12 ` [PATCH 04/17][V2] ARM: OMAP4: cpuidle - fix static omap4_idle_data declaration Daniel Lezcano
2012-04-09 22:38 ` Kevin Hilman
2012-04-04 20:12 ` [PATCH 05/17][V2] ARM: OMAP4: cpuidle - Initialize omap4_idle_data at compile time Daniel Lezcano
2012-04-04 20:12 ` Daniel Lezcano [this message]
2012-04-09 22:56 ` [PATCH 06/17][V2] ARM: OMAP4: cpuidle - use the omap4_idle_data variable directly Kevin Hilman
2012-04-19 14:49 ` Daniel Lezcano
2012-04-04 20:12 ` [PATCH 07/17][V2] ARM: OMAP4: cpuidle - remove omap4_idle_data initialization at boot time Daniel Lezcano
2012-04-09 22:40 ` Kevin Hilman
2012-04-04 20:12 ` [PATCH 08/17][V2] ARM: OMAP3: cpuidle - remove rx51 cpuidle parameters table Daniel Lezcano
2012-04-04 20:12 ` [PATCH 09/17][V2] ARM: OMAP3: define cpuidle statically Daniel Lezcano
2012-04-04 20:12 ` [PATCH 10/17][V2] ARM: OMAP3: cpuidle - remove the 'valid' field Daniel Lezcano
2012-04-09 23:13 ` Kevin Hilman
2012-04-19 14:02 ` Daniel Lezcano
2012-04-04 20:12 ` [PATCH 11/17][V2] ARM: OMAP3: cpuidle - remove cpuidle_params_table Daniel Lezcano
2012-04-09 23:12 ` Kevin Hilman
2012-04-04 20:12 ` [PATCH 12/17][V2] ARM: OMAP3: define statically the omap3_idle_data Daniel Lezcano
2012-04-04 20:12 ` [PATCH 13/17][V2] ARM: OMAP3: cpuidle - use omap3_idle_data directly Daniel Lezcano
2012-04-04 20:12 ` [PATCH 14/17][V2] ARM: OMAP3 : cpuidle - simplify next_valid_state Daniel Lezcano
2012-04-04 20:12 ` [PATCH 15/17][V2] ARM: OMAP3: set omap3_idle_data as static Daniel Lezcano
2012-04-04 20:12 ` [PATCH 16/17][V2] ARM: OMAP3/4: consolidate cpuidle Makefile Daniel Lezcano
2012-04-04 20:12 ` [PATCH 17/17][V2] ARM: OMAP3: cpuidle - set global variables static Daniel Lezcano
2012-04-09 23:23 ` [PATCH 00/17][V2] ARM: OMAP3/4 : cpuidle34xx and cpuidle44xx cleanups Kevin Hilman
2012-04-19 14:03 ` 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=1333570371-1389-7-git-send-email-daniel.lezcano@linaro.org \
--to=daniel.lezcano@linaro.org \
--cc=linux-arm-kernel@lists.infradead.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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).