diff options
Diffstat (limited to 'mce2.patch')
| -rw-r--r-- | mce2.patch | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/mce2.patch b/mce2.patch deleted file mode 100644 index 1a6cdf38c016e7..00000000000000 --- a/mce2.patch +++ /dev/null @@ -1,110 +0,0 @@ -From foo@baz Thu Jan 26 15:46:52 PST 2012 -Date: Thu, 26 Jan 2012 15:46:52 -0800 -To: Greg KH <greg@kroah.com> -From: Greg Kroah-Hartman <gregkh@suse.de> -Subject: MCE: convert static array of pointers to per-cpu variables - -When I previously fixed up the mce_device code, I used a static array of -the pointers. It was (rightfully) pointed out to me that I should be -using the per_cpu code instead. - -This patch converts the code over to that structure, moving the variable -back into the per_cpu area, like it used to be for 3.2 and earlier. - - -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - -diff --git a/arch/x86/include/asm/mce.h b/arch/x86/include/asm/mce.h -index 6aefb14..441520e 100644 ---- a/arch/x86/include/asm/mce.h -+++ b/arch/x86/include/asm/mce.h -@@ -151,7 +151,7 @@ static inline void enable_p5_mce(void) {} - - void mce_setup(struct mce *m); - void mce_log(struct mce *m); --extern struct device *mce_device[CONFIG_NR_CPUS]; -+DECLARE_PER_CPU(struct device *, mce_device); - - /* - * Maximum banks number. -diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c -index 5a11ae2..4979a5d 100644 ---- a/arch/x86/kernel/cpu/mcheck/mce.c -+++ b/arch/x86/kernel/cpu/mcheck/mce.c -@@ -1859,7 +1859,7 @@ static struct bus_type mce_subsys = { - .dev_name = "machinecheck", - }; - --struct device *mce_device[CONFIG_NR_CPUS]; -+DEFINE_PER_CPU(struct device *, mce_device); - - __cpuinitdata - void (*threshold_cpu_callback)(unsigned long action, unsigned int cpu); -@@ -2038,7 +2038,7 @@ static __cpuinit int mce_device_create(unsigned int cpu) - goto error2; - } - cpumask_set_cpu(cpu, mce_device_initialized); -- mce_device[cpu] = dev; -+ per_cpu(mce_device, cpu) = dev; - - return 0; - error2: -@@ -2055,7 +2055,7 @@ error: - - static __cpuinit void mce_device_remove(unsigned int cpu) - { -- struct device *dev = mce_device[cpu]; -+ struct device *dev = per_cpu(mce_device, cpu); - int i; - - if (!cpumask_test_cpu(cpu, mce_device_initialized)) -@@ -2069,7 +2069,7 @@ static __cpuinit void mce_device_remove(unsigned int cpu) - - device_unregister(dev); - cpumask_clear_cpu(cpu, mce_device_initialized); -- mce_device[cpu] = NULL; -+ per_cpu(mce_device, cpu) = NULL; - } - - /* Make sure there are no machine checks on offlined CPUs. */ -diff --git a/arch/x86/kernel/cpu/mcheck/mce_amd.c b/arch/x86/kernel/cpu/mcheck/mce_amd.c -index 786e76a..a4bf9d2 100644 ---- a/arch/x86/kernel/cpu/mcheck/mce_amd.c -+++ b/arch/x86/kernel/cpu/mcheck/mce_amd.c -@@ -523,7 +523,7 @@ static __cpuinit int threshold_create_bank(unsigned int cpu, unsigned int bank) - { - int i, err = 0; - struct threshold_bank *b = NULL; -- struct device *dev = mce_device[cpu]; -+ struct device *dev = per_cpu(mce_device, cpu); - char name[32]; - - sprintf(name, "threshold_bank%i", bank); -@@ -585,7 +585,7 @@ static __cpuinit int threshold_create_bank(unsigned int cpu, unsigned int bank) - if (i == cpu) - continue; - -- dev = mce_device[i]; -+ dev = per_cpu(mce_device, i); - if (dev) - err = sysfs_create_link(&dev->kobj,b->kobj, name); - if (err) -@@ -665,7 +665,8 @@ static void threshold_remove_bank(unsigned int cpu, int bank) - #ifdef CONFIG_SMP - /* sibling symlink */ - if (shared_bank[bank] && b->blocks->cpu != cpu) { -- sysfs_remove_link(&mce_device[cpu]->kobj, name); -+ dev = per_cpu(mce_device, cpu); -+ sysfs_remove_link(&dev->kobj, name); - per_cpu(threshold_banks, cpu)[bank] = NULL; - - return; -@@ -677,7 +678,7 @@ static void threshold_remove_bank(unsigned int cpu, int bank) - if (i == cpu) - continue; - -- dev = mce_device[i]; -+ dev = per_cpu(mce_device, i); - if (dev) - sysfs_remove_link(&dev->kobj, name); - per_cpu(threshold_banks, i)[bank] = NULL; |
