Browse Source

Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

* 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86: Use "do { } while(0)" for empty lock_cmos()/unlock_cmos() macros
  x86: Use "do { } while(0)" for empty flush_tlb_fix_spurious_fault() macro
  x86, CPU: Drop superfluous get_cpu_cap() prototype
  arch/x86/mm/pageattr.c: Quiet sparse noise; local functions should be static
  arch/x86/kernel/ptrace.c: Quiet sparse noise
  x86: Use kmemdup() in copy_thread(), rather than duplicating its implementation
  x86: Replace the EVT_TO_HPET_DEV() macro with an inline function
Linus Torvalds 13 years ago
parent
commit
cf3f33551b

+ 2 - 2
arch/x86/include/asm/mc146818rtc.h

@@ -81,8 +81,8 @@ static inline unsigned char current_lock_cmos_reg(void)
 #else
 #else
 #define lock_cmos_prefix(reg) do {} while (0)
 #define lock_cmos_prefix(reg) do {} while (0)
 #define lock_cmos_suffix(reg) do {} while (0)
 #define lock_cmos_suffix(reg) do {} while (0)
-#define lock_cmos(reg)
-#define unlock_cmos()
+#define lock_cmos(reg) do { } while (0)
+#define unlock_cmos() do { } while (0)
 #define do_i_have_lock_cmos() 0
 #define do_i_have_lock_cmos() 0
 #define current_lock_cmos_reg() 0
 #define current_lock_cmos_reg() 0
 #endif
 #endif

+ 1 - 1
arch/x86/include/asm/pgtable.h

@@ -703,7 +703,7 @@ static inline void ptep_set_wrprotect(struct mm_struct *mm,
 	pte_update(mm, addr, ptep);
 	pte_update(mm, addr, ptep);
 }
 }
 
 
-#define flush_tlb_fix_spurious_fault(vma, address)
+#define flush_tlb_fix_spurious_fault(vma, address) do { } while (0)
 
 
 #define mk_pmd(page, pgprot)   pfn_pmd(page_to_pfn(page), (pgprot))
 #define mk_pmd(page, pgprot)   pfn_pmd(page_to_pfn(page), (pgprot))
 
 

+ 1 - 4
arch/x86/kernel/cpu/cpu.h

@@ -1,5 +1,4 @@
 #ifndef ARCH_X86_CPU_H
 #ifndef ARCH_X86_CPU_H
-
 #define ARCH_X86_CPU_H
 #define ARCH_X86_CPU_H
 
 
 struct cpu_model_info {
 struct cpu_model_info {
@@ -35,6 +34,4 @@ extern const struct cpu_dev *const __x86_cpu_dev_start[],
 
 
 extern void get_cpu_cap(struct cpuinfo_x86 *c);
 extern void get_cpu_cap(struct cpuinfo_x86 *c);
 extern void cpu_detect_cache_sizes(struct cpuinfo_x86 *c);
 extern void cpu_detect_cache_sizes(struct cpuinfo_x86 *c);
-extern void get_cpu_cap(struct cpuinfo_x86 *c);
-
-#endif
+#endif /* ARCH_X86_CPU_H */

+ 5 - 2
arch/x86/kernel/hpet.c

@@ -32,8 +32,6 @@
 #define HPET_MIN_CYCLES			128
 #define HPET_MIN_CYCLES			128
 #define HPET_MIN_PROG_DELTA		(HPET_MIN_CYCLES + (HPET_MIN_CYCLES >> 1))
 #define HPET_MIN_PROG_DELTA		(HPET_MIN_CYCLES + (HPET_MIN_CYCLES >> 1))
 
 
-#define EVT_TO_HPET_DEV(evt) container_of(evt, struct hpet_dev, evt)
-
 /*
 /*
  * HPET address is set in acpi/boot.c, when an ACPI entry exists
  * HPET address is set in acpi/boot.c, when an ACPI entry exists
  */
  */
@@ -55,6 +53,11 @@ struct hpet_dev {
 	char				name[10];
 	char				name[10];
 };
 };
 
 
+inline struct hpet_dev *EVT_TO_HPET_DEV(struct clock_event_device *evtdev)
+{
+	return container_of(evtdev, struct hpet_dev, evt);
+}
+
 inline unsigned int hpet_readl(unsigned int a)
 inline unsigned int hpet_readl(unsigned int a)
 {
 {
 	return readl(hpet_virt_address + a);
 	return readl(hpet_virt_address + a);

+ 2 - 3
arch/x86/kernel/process_64.c

@@ -299,13 +299,12 @@ int copy_thread(unsigned long clone_flags, unsigned long sp,
 	memset(p->thread.ptrace_bps, 0, sizeof(p->thread.ptrace_bps));
 	memset(p->thread.ptrace_bps, 0, sizeof(p->thread.ptrace_bps));
 
 
 	if (unlikely(test_tsk_thread_flag(me, TIF_IO_BITMAP))) {
 	if (unlikely(test_tsk_thread_flag(me, TIF_IO_BITMAP))) {
-		p->thread.io_bitmap_ptr = kmalloc(IO_BITMAP_BYTES, GFP_KERNEL);
+		p->thread.io_bitmap_ptr = kmemdup(me->thread.io_bitmap_ptr,
+						  IO_BITMAP_BYTES, GFP_KERNEL);
 		if (!p->thread.io_bitmap_ptr) {
 		if (!p->thread.io_bitmap_ptr) {
 			p->thread.io_bitmap_max = 0;
 			p->thread.io_bitmap_max = 0;
 			return -ENOMEM;
 			return -ENOMEM;
 		}
 		}
-		memcpy(p->thread.io_bitmap_ptr, me->thread.io_bitmap_ptr,
-				IO_BITMAP_BYTES);
 		set_tsk_thread_flag(p, TIF_IO_BITMAP);
 		set_tsk_thread_flag(p, TIF_IO_BITMAP);
 	}
 	}
 
 

+ 2 - 1
arch/x86/kernel/ptrace.c

@@ -749,7 +749,8 @@ put:
 /*
 /*
  * Handle PTRACE_POKEUSR calls for the debug register area.
  * Handle PTRACE_POKEUSR calls for the debug register area.
  */
  */
-int ptrace_set_debugreg(struct task_struct *tsk, int n, unsigned long val)
+static int ptrace_set_debugreg(struct task_struct *tsk, int n,
+			       unsigned long val)
 {
 {
 	struct thread_struct *thread = &(tsk->thread);
 	struct thread_struct *thread = &(tsk->thread);
 	int rc = 0;
 	int rc = 0;

+ 1 - 1
arch/x86/mm/pageattr.c

@@ -998,7 +998,7 @@ out_err:
 }
 }
 EXPORT_SYMBOL(set_memory_uc);
 EXPORT_SYMBOL(set_memory_uc);
 
 
-int _set_memory_array(unsigned long *addr, int addrinarray,
+static int _set_memory_array(unsigned long *addr, int addrinarray,
 		unsigned long new_type)
 		unsigned long new_type)
 {
 {
 	int i, j;
 	int i, j;