All of lore.kernel.org
 help / color / mirror / Atom feed
From: Len Brown <lenb@kernel.org>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>,
	Len Brown <len.brown@intel.com>,
	linux-next@vger.kernel.org, linux-kernel@vger.kernel.org,
	"David S. Miller" <davem@davemloft.net>,
	sparclinux@vger.kernel.org,
	Linux PM list <linux-pm@vger.kernel.org>
Subject: Re: Should SPARC use cpuidle?
Date: Tue, 12 Feb 2013 13:03:04 -0500	[thread overview]
Message-ID: <511A83D8.7020202@kernel.org> (raw)
In-Reply-To: <511A837B.8020804@kernel.org>

[-- Attachment #1: Type: text/plain, Size: 337 bytes --]


>> Can you please move the definition of sparc_idle to processor_32.h
>> It is sparc32 specific - and then we do not need the __ASSEMBLY__ guards
>> as the sparc32 variant are not used from assembler.
> 
> sure, let me know if attached works.

ugh, not accustomed to sending patches via thunderbird.
hopefully this attachment works...


[-- Attachment #2: 0001-sparc-idle-rename-pm_idle-to-sparc_idle.patch --]
[-- Type: text/x-patch, Size: 4055 bytes --]

>From 358ca5d7e02c4559ad3fbf8135421e4a3753e979 Mon Sep 17 00:00:00 2001
From: Len Brown <len.brown@intel.com>
Date: Sat, 9 Feb 2013 23:27:26 -0500
Subject: [PATCH] sparc idle: rename pm_idle to sparc_idle
Reply-To: Len Brown <lenb@kernel.org>
Organization: Intel Open Source Technology Center

(pm_idle)() is being removed from linux/pm.h
because Linux does not have such a cross-architecture concept.

sparc uses an idle function pointer in its architecture
specific code.  So we re-name sparc use of pm_idle to sparc_idle.

Maybe some day, SPARC will cut over to cpuidle...

Signed-off-by: Len Brown <len.brown@intel.com>
Acked-by: David S. Miller <davem@davemloft.net>
---
 arch/sparc/include/asm/processor_32.h | 1 +
 arch/sparc/kernel/apc.c               | 3 ++-
 arch/sparc/kernel/leon_pmc.c          | 5 +++--
 arch/sparc/kernel/pmc.c               | 3 ++-
 arch/sparc/kernel/process_32.c        | 7 +++----
 5 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/arch/sparc/include/asm/processor_32.h b/arch/sparc/include/asm/processor_32.h
index c1e0191..2c7baa4 100644
--- a/arch/sparc/include/asm/processor_32.h
+++ b/arch/sparc/include/asm/processor_32.h
@@ -118,6 +118,7 @@ extern unsigned long get_wchan(struct task_struct *);
 extern struct task_struct *last_task_used_math;
 
 #define cpu_relax()	barrier()
+extern void (*sparc_idle)(void);
 
 #endif
 
diff --git a/arch/sparc/kernel/apc.c b/arch/sparc/kernel/apc.c
index 348fa1a..eefda32 100644
--- a/arch/sparc/kernel/apc.c
+++ b/arch/sparc/kernel/apc.c
@@ -20,6 +20,7 @@
 #include <asm/uaccess.h>
 #include <asm/auxio.h>
 #include <asm/apc.h>
+#include <asm/processor.h>
 
 /* Debugging
  * 
@@ -158,7 +159,7 @@ static int apc_probe(struct platform_device *op)
 
 	/* Assign power management IDLE handler */
 	if (!apc_no_idle)
-		pm_idle = apc_swift_idle;	
+		sparc_idle = apc_swift_idle;
 
 	printk(KERN_INFO "%s: power management initialized%s\n", 
 	       APC_DEVNAME, apc_no_idle ? " (CPU idle disabled)" : "");
diff --git a/arch/sparc/kernel/leon_pmc.c b/arch/sparc/kernel/leon_pmc.c
index 4e17432..708bca4 100644
--- a/arch/sparc/kernel/leon_pmc.c
+++ b/arch/sparc/kernel/leon_pmc.c
@@ -9,6 +9,7 @@
 #include <asm/leon_amba.h>
 #include <asm/cpu_type.h>
 #include <asm/leon.h>
+#include <asm/processor.h>
 
 /* List of Systems that need fixup instructions around power-down instruction */
 unsigned int pmc_leon_fixup_ids[] = {
@@ -69,9 +70,9 @@ static int __init leon_pmc_install(void)
 	if (sparc_cpu_model == sparc_leon) {
 		/* Assign power management IDLE handler */
 		if (pmc_leon_need_fixup())
-			pm_idle = pmc_leon_idle_fixup;
+			sparc_idle = pmc_leon_idle_fixup;
 		else
-			pm_idle = pmc_leon_idle;
+			sparc_idle = pmc_leon_idle;
 
 		printk(KERN_INFO "leon: power management initialized\n");
 	}
diff --git a/arch/sparc/kernel/pmc.c b/arch/sparc/kernel/pmc.c
index dcbb62f..8b7297f 100644
--- a/arch/sparc/kernel/pmc.c
+++ b/arch/sparc/kernel/pmc.c
@@ -17,6 +17,7 @@
 #include <asm/oplib.h>
 #include <asm/uaccess.h>
 #include <asm/auxio.h>
+#include <asm/processor.h>
 
 /* Debug
  *
@@ -63,7 +64,7 @@ static int pmc_probe(struct platform_device *op)
 
 #ifndef PMC_NO_IDLE
 	/* Assign power management IDLE handler */
-	pm_idle = pmc_swift_idle;
+	sparc_idle = pmc_swift_idle;
 #endif
 
 	printk(KERN_INFO "%s: power management initialized\n", PMC_DEVNAME);
diff --git a/arch/sparc/kernel/process_32.c b/arch/sparc/kernel/process_32.c
index be8e862..62eede1 100644
--- a/arch/sparc/kernel/process_32.c
+++ b/arch/sparc/kernel/process_32.c
@@ -43,8 +43,7 @@
  * Power management idle function 
  * Set in pm platform drivers (apc.c and pmc.c)
  */
-void (*pm_idle)(void);
-EXPORT_SYMBOL(pm_idle);
+void (*sparc_idle)(void);
 
 /* 
  * Power-off handler instantiation for pm.h compliance
@@ -75,8 +74,8 @@ void cpu_idle(void)
 	/* endless idle loop with no priority at all */
 	for (;;) {
 		while (!need_resched()) {
-			if (pm_idle)
-				(*pm_idle)();
+			if (sparc_idle)
+				(*sparc_idle)();
 			else
 				cpu_relax();
 		}
-- 
1.8.1.3.535.ga923c31


WARNING: multiple messages have this Message-ID (diff)
From: Len Brown <lenb@kernel.org>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>,
	Len Brown <len.brown@intel.com>,
	linux-next@vger.kernel.org, linux-kernel@vger.kernel.org,
	"David S. Miller" <davem@davemloft.net>,
	sparclinux@vger.kernel.org,
	Linux PM list <linux-pm@vger.kernel.org>
Subject: Re: Should SPARC use cpuidle?
Date: Tue, 12 Feb 2013 18:03:04 +0000	[thread overview]
Message-ID: <511A83D8.7020202@kernel.org> (raw)
In-Reply-To: <511A837B.8020804@kernel.org>

[-- Attachment #1: Type: text/plain, Size: 337 bytes --]


>> Can you please move the definition of sparc_idle to processor_32.h
>> It is sparc32 specific - and then we do not need the __ASSEMBLY__ guards
>> as the sparc32 variant are not used from assembler.
> 
> sure, let me know if attached works.

ugh, not accustomed to sending patches via thunderbird.
hopefully this attachment works...


[-- Attachment #2: 0001-sparc-idle-rename-pm_idle-to-sparc_idle.patch --]
[-- Type: text/x-patch, Size: 4054 bytes --]

From 358ca5d7e02c4559ad3fbf8135421e4a3753e979 Mon Sep 17 00:00:00 2001
From: Len Brown <len.brown@intel.com>
Date: Sat, 9 Feb 2013 23:27:26 -0500
Subject: [PATCH] sparc idle: rename pm_idle to sparc_idle
Reply-To: Len Brown <lenb@kernel.org>
Organization: Intel Open Source Technology Center

(pm_idle)() is being removed from linux/pm.h
because Linux does not have such a cross-architecture concept.

sparc uses an idle function pointer in its architecture
specific code.  So we re-name sparc use of pm_idle to sparc_idle.

Maybe some day, SPARC will cut over to cpuidle...

Signed-off-by: Len Brown <len.brown@intel.com>
Acked-by: David S. Miller <davem@davemloft.net>
---
 arch/sparc/include/asm/processor_32.h | 1 +
 arch/sparc/kernel/apc.c               | 3 ++-
 arch/sparc/kernel/leon_pmc.c          | 5 +++--
 arch/sparc/kernel/pmc.c               | 3 ++-
 arch/sparc/kernel/process_32.c        | 7 +++----
 5 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/arch/sparc/include/asm/processor_32.h b/arch/sparc/include/asm/processor_32.h
index c1e0191..2c7baa4 100644
--- a/arch/sparc/include/asm/processor_32.h
+++ b/arch/sparc/include/asm/processor_32.h
@@ -118,6 +118,7 @@ extern unsigned long get_wchan(struct task_struct *);
 extern struct task_struct *last_task_used_math;
 
 #define cpu_relax()	barrier()
+extern void (*sparc_idle)(void);
 
 #endif
 
diff --git a/arch/sparc/kernel/apc.c b/arch/sparc/kernel/apc.c
index 348fa1a..eefda32 100644
--- a/arch/sparc/kernel/apc.c
+++ b/arch/sparc/kernel/apc.c
@@ -20,6 +20,7 @@
 #include <asm/uaccess.h>
 #include <asm/auxio.h>
 #include <asm/apc.h>
+#include <asm/processor.h>
 
 /* Debugging
  * 
@@ -158,7 +159,7 @@ static int apc_probe(struct platform_device *op)
 
 	/* Assign power management IDLE handler */
 	if (!apc_no_idle)
-		pm_idle = apc_swift_idle;	
+		sparc_idle = apc_swift_idle;
 
 	printk(KERN_INFO "%s: power management initialized%s\n", 
 	       APC_DEVNAME, apc_no_idle ? " (CPU idle disabled)" : "");
diff --git a/arch/sparc/kernel/leon_pmc.c b/arch/sparc/kernel/leon_pmc.c
index 4e17432..708bca4 100644
--- a/arch/sparc/kernel/leon_pmc.c
+++ b/arch/sparc/kernel/leon_pmc.c
@@ -9,6 +9,7 @@
 #include <asm/leon_amba.h>
 #include <asm/cpu_type.h>
 #include <asm/leon.h>
+#include <asm/processor.h>
 
 /* List of Systems that need fixup instructions around power-down instruction */
 unsigned int pmc_leon_fixup_ids[] = {
@@ -69,9 +70,9 @@ static int __init leon_pmc_install(void)
 	if (sparc_cpu_model == sparc_leon) {
 		/* Assign power management IDLE handler */
 		if (pmc_leon_need_fixup())
-			pm_idle = pmc_leon_idle_fixup;
+			sparc_idle = pmc_leon_idle_fixup;
 		else
-			pm_idle = pmc_leon_idle;
+			sparc_idle = pmc_leon_idle;
 
 		printk(KERN_INFO "leon: power management initialized\n");
 	}
diff --git a/arch/sparc/kernel/pmc.c b/arch/sparc/kernel/pmc.c
index dcbb62f..8b7297f 100644
--- a/arch/sparc/kernel/pmc.c
+++ b/arch/sparc/kernel/pmc.c
@@ -17,6 +17,7 @@
 #include <asm/oplib.h>
 #include <asm/uaccess.h>
 #include <asm/auxio.h>
+#include <asm/processor.h>
 
 /* Debug
  *
@@ -63,7 +64,7 @@ static int pmc_probe(struct platform_device *op)
 
 #ifndef PMC_NO_IDLE
 	/* Assign power management IDLE handler */
-	pm_idle = pmc_swift_idle;
+	sparc_idle = pmc_swift_idle;
 #endif
 
 	printk(KERN_INFO "%s: power management initialized\n", PMC_DEVNAME);
diff --git a/arch/sparc/kernel/process_32.c b/arch/sparc/kernel/process_32.c
index be8e862..62eede1 100644
--- a/arch/sparc/kernel/process_32.c
+++ b/arch/sparc/kernel/process_32.c
@@ -43,8 +43,7 @@
  * Power management idle function 
  * Set in pm platform drivers (apc.c and pmc.c)
  */
-void (*pm_idle)(void);
-EXPORT_SYMBOL(pm_idle);
+void (*sparc_idle)(void);
 
 /* 
  * Power-off handler instantiation for pm.h compliance
@@ -75,8 +74,8 @@ void cpu_idle(void)
 	/* endless idle loop with no priority at all */
 	for (;;) {
 		while (!need_resched()) {
-			if (pm_idle)
-				(*pm_idle)();
+			if (sparc_idle)
+				(*sparc_idle)();
 			else
 				cpu_relax();
 		}
-- 
1.8.1.3.535.ga923c31


  reply	other threads:[~2013-02-12 18:03 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-11  7:34 linux-next: build failure after merge of the final tree (acpi tree related) Stephen Rothwell
2013-02-11  7:34 ` Stephen Rothwell
2013-02-11 18:22 ` Bjorn Helgaas
2013-02-11 18:22   ` Bjorn Helgaas
2013-02-11 23:23 ` Len Brown
2013-02-11 23:23   ` Len Brown
2013-02-12 17:35   ` Sam Ravnborg
2013-02-12 17:35     ` Sam Ravnborg
2013-02-12 18:01     ` Should SPARC use cpuidle? (was: linux-next: build failure after merge of the final tree (acpi tree related)) Len Brown
2013-02-12 18:01       ` Should SPARC use cpuidle? (was: linux-next: build failure after merge of the final tree (acpi tree r Len Brown
2013-02-12 18:03       ` Len Brown [this message]
2013-02-12 18:03         ` Should SPARC use cpuidle? Len Brown
2013-02-12 19:36         ` Sam Ravnborg
2013-02-12 19:36           ` Sam Ravnborg
2013-02-12 19:42       ` Should SPARC use cpuidle? (was: linux-next: build failure after merge of the final tree (acpi tree related)) Sam Ravnborg
2013-02-12 19:42         ` Should SPARC use cpuidle? (was: linux-next: build failure after merge of the final tree (acpi tr Sam Ravnborg
  -- strict thread matches above, loose matches on Subject: below --
2017-11-30  3:46 linux-next: build failure after merge of the akpm-current tree Stephen Rothwell
2017-11-30  3:46 ` Stephen Rothwell
2014-04-22  6:22 linux-next: build failure after merge of the audit tree Stephen Rothwell
2014-04-22  6:22 ` Stephen Rothwell
2014-04-22 15:56 ` Richard Guy Briggs
2014-04-22 15:56   ` Richard Guy Briggs
2014-04-22 16:32 ` Eric Paris
2014-04-22 16:32   ` Eric Paris
2014-04-22 21:27   ` Stephen Rothwell
2014-04-22 21:27     ` Stephen Rothwell
2012-06-12  4:54 linux-next: build failure after merge of the final tree (pci tree related) Stephen Rothwell
2012-06-12  4:54 ` Stephen Rothwell
2012-06-12 15:31 ` Bjorn Helgaas
2012-06-12 15:31   ` Bjorn Helgaas
2012-06-12 15:31   ` Bjorn Helgaas
2012-06-13  0:50   ` Stephen Rothwell
2012-06-13  0:50     ` Stephen Rothwell
2012-06-13 23:20     ` Bjorn Helgaas
2012-06-13 23:20       ` Bjorn Helgaas
2011-06-09  7:27 linux-next: build failure after merge of the final tree (staging related) Stephen Rothwell
2011-06-09 18:41 ` Greg KH
2011-06-09 19:22   ` Greg KH
2011-06-10  6:05     ` Stephen Rothwell
2011-06-10  6:09       ` Stephen Rothwell
2011-06-10 22:34         ` Greg KH
2011-06-15  4:21           ` Stephen Rothwell
2011-06-16 19:14             ` Greg KH
2011-06-23  0:35               ` Stephen Rothwell
2011-06-23 21:51                 ` Greg KH
2011-06-24  0:00                   ` Stephen Rothwell
2011-06-27 21:45                     ` Greg KH
2011-06-28  0:16                       ` Stephen Rothwell
2011-06-15 12:05       ` Geert Uytterhoeven
2011-06-15 12:05         ` Geert Uytterhoeven
2011-06-15 15:47         ` Greg KH
2011-06-15 15:47           ` linux-next: build failure after merge of the final tree (staging Greg KH
2011-06-15 14:35       ` [PATCH] arch/tile: remove useless set_fixmap_nocache() macro Chris Metcalf
2011-06-15 14:35       ` Chris Metcalf
2011-06-15 14:35         ` Chris Metcalf
2011-06-15 14:35         ` Chris Metcalf
2011-06-15 14:35         ` Chris Metcalf
2011-06-09 19:52   ` linux-next: build failure after merge of the final tree (staging related) Henry Ptasinski
2011-06-09 20:19     ` Greg KH

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=511A83D8.7020202@kernel.org \
    --to=lenb@kernel.org \
    --cc=davem@davemloft.net \
    --cc=len.brown@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=sam@ravnborg.org \
    --cc=sfr@canb.auug.org.au \
    --cc=sparclinux@vger.kernel.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 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.