Skip to contentSkip to conversation

percpu error in linux-next (CONFIG_SMP=n)

PATCH In review Randy Dunlap 2 participants 3 messages Dec 1, 2009 – Dec 2, 2009

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

hi Tejun,

drivers/base/cpu.c: line 100: fails to build when CONFIG_SMP=n:

	addr = per_cpu_ptr_to_phys(per_cpu_ptr(crash_notes, cpunum));

Can you suggest a fix for that, please?

thanks,

Signature · 1 line
~Randy
maintainer
#1 lore raw

PATCH 1/1 percpu: add missing per_cpu_ptr_to_phys() definition for UP

Commit 3b034b0d084221596bf35c8d893e1d4d5477b9cc implemented per_cpu_ptr_to_phys() but forgot to add UP definition. Add UP definition which is simple wrapper around __pa().

---
Hello,

Quoted 5 lines

drivers/base/cpu.c: line 100: fails to build when CONFIG_SMP=n:

	addr = per_cpu_ptr_to_phys(per_cpu_ptr(crash_notes, cpunum));

Can you suggest a fix for that, please?

Oops, right, UP definition was missing. This patch should do it.

Thanks.

 include/linux/percpu.h |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
include/linux/percpu.h +5 -0
index 6ac984f..8e4ead6 100644
@@ -180,6 +180,11 @@ static inline void free_percpu(void *p)
 	kfree(p);
 }
 
+static inline phys_addr_t per_cpu_ptr_to_phys(void *addr)
+{
+	return __pa(addr);
+}
+
 static inline void __init setup_per_cpu_areas(void) { }
 
 static inline void *pcpu_lpage_remapped(void *kaddr)
Signature · 1 line
1.6.4.2
author Acked-by on v1 1/1
#2 lore raw

Re: [PATCH] percpu: add missing per_cpu_ptr_to_phys() definition for UP

Quoted 7 lines · Tejun Heo

Commit 3b034b0d084221596bf35c8d893e1d4d5477b9cc implemented per_cpu_ptr_to_phys() but forgot to add UP definition. Add UP definition which is simple wrapper around __pa().

Yes, that builds now. Thanks.

Quoted 32 lines

---
Hello,

Quoted 5 lines

drivers/base/cpu.c: line 100: fails to build when CONFIG_SMP=n:

	addr = per_cpu_ptr_to_phys(per_cpu_ptr(crash_notes, cpunum));

Can you suggest a fix for that, please?

Oops, right, UP definition was missing. This patch should do it.

Thanks.

 include/linux/percpu.h |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
include/linux/percpu.h +5 -0
index 6ac984f..8e4ead6 100644
@@ -180,6 +180,11 @@ static inline void free_percpu(void *p)
 	kfree(p);
 }
 
+static inline phys_addr_t per_cpu_ptr_to_phys(void *addr)
+{
+	return __pa(addr);
+}
+
 static inline void __init setup_per_cpu_areas(void) { }
 
 static inline void *pcpu_lpage_remapped(void *kaddr)
Signature · 1 line
~Randy