From: Venki Pallipadi <venkatesh.pallipadi@intel.com>
To: Len Brown <lenb@kernel.org>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>,
Kevin Hilman <khilman@mvista.com>,
"Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com>,
ACPI Devel Maling List <linux-acpi@vger.kernel.org>
Subject: Re: [linux-pm] [PATCH] CPUidle: compile fix for non-x86
Date: Fri, 8 Feb 2008 17:05:44 -0800 [thread overview]
Message-ID: <20080209010544.GA19576@linux-os.sc.intel.com> (raw)
In-Reply-To: <200801312240.47405.lenb@kernel.org>
On Thu, Jan 31, 2008 at 10:40:46PM -0500, Len Brown wrote:
> Applied w/ Rafael's comment fixes included.
>
> thanks,
> -Len
Len pointed out that the last posted version of this patch gave compile error
on IA64. So, here goes yet another rewrite of the patch.
[PATCH] CPU_IDLE: Compile fix for non x86 arch
From: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Convert cpu_idle_wait() to cpuidle_kick_cpus() which is
SMP-only, and gives error on non supported CPU.
Changes from last patch sent by Kevin:
Moved the definition of kick_cpus back to cpuidle.c from cpuidle.h:
* Having it in .h gives #error on archs which includes the header file without
actually having CPU_IDLE configured. To make it work in .h, we need one more
#ifdef around that code which makes it messy.
* Also, the function is only called from one file. So, it can be in declared
statically in .c rather than making it available to everyone who includes
the .h file.
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Kevin Hilman <khilman@mvista.com>
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
Index: linux-2.6.25-rc/arch/x86/Kconfig
===================================================================
--- linux-2.6.25-rc.orig/arch/x86/Kconfig
+++ linux-2.6.25-rc/arch/x86/Kconfig
@@ -105,6 +105,9 @@ config ARCH_HAS_ILOG2_U32
config ARCH_HAS_ILOG2_U64
def_bool n
+config ARCH_HAS_CPU_IDLE_WAIT
+ def_bool y
+
config GENERIC_CALIBRATE_DELAY
def_bool y
Index: linux-2.6.25-rc/drivers/cpuidle/cpuidle.c
===================================================================
--- linux-2.6.25-rc.orig/drivers/cpuidle/cpuidle.c
+++ linux-2.6.25-rc/drivers/cpuidle/cpuidle.c
@@ -27,6 +27,17 @@ static void (*pm_idle_old)(void);
static int enabled_devices;
+#if defined(CONFIG_ARCH_HAS_CPU_IDLE_WAIT)
+static void cpuidle_kick_cpus(void)
+{
+ cpu_idle_wait();
+}
+#elif defined(CONFIG_SMP)
+# error "Arch needs cpu_idle_wait() equivalent here"
+#else /* !CONFIG_ARCH_HAS_CPU_IDLE_WAIT && !CONFIG_SMP */
+static void cpuidle_kick_cpus(void) {}
+#endif
+
/**
* cpuidle_idle_call - the main idle loop
*
@@ -83,7 +94,7 @@ void cpuidle_uninstall_idle_handler(void
{
if (enabled_devices && (pm_idle != pm_idle_old)) {
pm_idle = pm_idle_old;
- cpu_idle_wait();
+ cpuidle_kick_cpus();
}
}
prev parent reply other threads:[~2008-02-09 1:07 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-30 10:16 Fwd: [linux-pm] [PATCH] CPUidle: compile fix for non-x86 Rafael J. Wysocki
2008-01-31 18:44 ` Pallipadi, Venkatesh
2008-01-31 18:51 ` Kevin Hilman
2008-01-31 19:15 ` Pallipadi, Venkatesh
2008-01-31 20:05 ` Kevin Hilman
2008-01-31 20:11 ` Pallipadi, Venkatesh
2008-01-31 20:26 ` Rafael J. Wysocki
2008-01-31 20:45 ` Kevin Hilman
2008-01-31 21:03 ` Rafael J. Wysocki
2008-01-31 21:33 ` Kevin Hilman
2008-02-01 0:25 ` Pallipadi, Venkatesh
2008-02-01 1:17 ` Rafael J. Wysocki
2008-02-01 1:28 ` Kevin Hilman
2008-02-01 1:40 ` Rafael J. Wysocki
2008-02-01 3:40 ` Len Brown
2008-02-09 1:05 ` Venki Pallipadi [this message]
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=20080209010544.GA19576@linux-os.sc.intel.com \
--to=venkatesh.pallipadi@intel.com \
--cc=khilman@mvista.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=rjw@sisk.pl \
/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.