x86, mce: Cleanup mce_create()/remove_device()

Use temporary local variable sysdev to simplify the code. No change in
logic.

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Acked-by: Tony Luck <tony.luck@intel.com>
Link: http://lkml.kernel.org/r/4DEED777.7080205@jp.fujitsu.com
Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
This commit is contained in:
Hidetoshi Seto
2011-06-08 10:59:19 +09:00
committed by Borislav Petkov
parent 3a97fc3413
commit f6783c4234

View File

@@ -1925,28 +1925,28 @@ static cpumask_var_t mce_dev_initialized;
/* Per cpu sysdev init. All of the cpus still share the same ctrl bank: */ /* Per cpu sysdev init. All of the cpus still share the same ctrl bank: */
static __cpuinit int mce_create_device(unsigned int cpu) static __cpuinit int mce_create_device(unsigned int cpu)
{ {
struct sys_device *sysdev = &per_cpu(mce_dev, cpu);
int err; int err;
int i, j; int i, j;
if (!mce_available(&boot_cpu_data)) if (!mce_available(&boot_cpu_data))
return -EIO; return -EIO;
memset(&per_cpu(mce_dev, cpu).kobj, 0, sizeof(struct kobject)); memset(&sysdev->kobj, 0, sizeof(struct kobject));
per_cpu(mce_dev, cpu).id = cpu; sysdev->id = cpu;
per_cpu(mce_dev, cpu).cls = &mce_sysclass; sysdev->cls = &mce_sysclass;
err = sysdev_register(&per_cpu(mce_dev, cpu)); err = sysdev_register(sysdev);
if (err) if (err)
return err; return err;
for (i = 0; mce_attrs[i]; i++) { for (i = 0; mce_attrs[i]; i++) {
err = sysdev_create_file(&per_cpu(mce_dev, cpu), mce_attrs[i]); err = sysdev_create_file(sysdev, mce_attrs[i]);
if (err) if (err)
goto error; goto error;
} }
for (j = 0; j < banks; j++) { for (j = 0; j < banks; j++) {
err = sysdev_create_file(&per_cpu(mce_dev, cpu), err = sysdev_create_file(sysdev, &mce_banks[j].attr);
&mce_banks[j].attr);
if (err) if (err)
goto error2; goto error2;
} }
@@ -1955,30 +1955,31 @@ static __cpuinit int mce_create_device(unsigned int cpu)
return 0; return 0;
error2: error2:
while (--j >= 0) while (--j >= 0)
sysdev_remove_file(&per_cpu(mce_dev, cpu), &mce_banks[j].attr); sysdev_remove_file(sysdev, &mce_banks[j].attr);
error: error:
while (--i >= 0) while (--i >= 0)
sysdev_remove_file(&per_cpu(mce_dev, cpu), mce_attrs[i]); sysdev_remove_file(sysdev, mce_attrs[i]);
sysdev_unregister(&per_cpu(mce_dev, cpu)); sysdev_unregister(sysdev);
return err; return err;
} }
static __cpuinit void mce_remove_device(unsigned int cpu) static __cpuinit void mce_remove_device(unsigned int cpu)
{ {
struct sys_device *sysdev = &per_cpu(mce_dev, cpu);
int i; int i;
if (!cpumask_test_cpu(cpu, mce_dev_initialized)) if (!cpumask_test_cpu(cpu, mce_dev_initialized))
return; return;
for (i = 0; mce_attrs[i]; i++) for (i = 0; mce_attrs[i]; i++)
sysdev_remove_file(&per_cpu(mce_dev, cpu), mce_attrs[i]); sysdev_remove_file(sysdev, mce_attrs[i]);
for (i = 0; i < banks; i++) for (i = 0; i < banks; i++)
sysdev_remove_file(&per_cpu(mce_dev, cpu), &mce_banks[i].attr); sysdev_remove_file(sysdev, &mce_banks[i].attr);
sysdev_unregister(&per_cpu(mce_dev, cpu)); sysdev_unregister(sysdev);
cpumask_clear_cpu(cpu, mce_dev_initialized); cpumask_clear_cpu(cpu, mce_dev_initialized);
} }