summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChen Gong <gong.chen@linux.intel.com>2010-08-09 17:21:10 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2010-08-09 20:45:10 -0700
commit851b29cb3b196cb66452ec964ab5f66c9c9cd1ed (patch)
treec321ef914ce9b595f3478fe7b79e52bbc050a31f
parent0dca94baeab4a1a514841b0a4c8e3a51dfb4d5ae (diff)
hwmon: coretemp: enable coretemp device add operation failure
If one coretemp device can't be added, it should allow subsequent adding operation because every new-added device will create a new sysfs group, not an additional sensor sys entry. Signed-off-by: Chen Gong <gong.chen@linux.intel.com> Cc: Rudolf Marek <r.marek@assembler.cz> Cc: Huaxu Wan <huaxu.wan@intel.com> Cc: Jean Delvare <khali@linux-fr.org> Cc: Guenter Roeck <guenter.roeck@ericsson.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--drivers/hwmon/coretemp.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/drivers/hwmon/coretemp.c b/drivers/hwmon/coretemp.c
index c05dc91ff419..49d74d091fbf 100644
--- a/drivers/hwmon/coretemp.c
+++ b/drivers/hwmon/coretemp.c
@@ -540,12 +540,9 @@ static int __init coretemp_init(void)
* sensors. We check this bit only, all the early CPUs
* without thermal sensors will be filtered out.
*/
- if (c->cpuid_level >= 6 && (cpuid_eax(0x06) & 0x01)) {
- err = coretemp_device_add(i);
- if (err)
- goto exit_devices_unreg;
-
- } else {
+ if (c->cpuid_level >= 6 && (cpuid_eax(0x06) & 0x01))
+ coretemp_device_add(i);
+ else {
printk(KERN_INFO DRVNAME ": CPU (model=0x%x)"
" has no thermal sensor.\n", c->x86_model);
}
@@ -560,14 +557,6 @@ static int __init coretemp_init(void)
#endif
return 0;
-exit_devices_unreg:
- mutex_lock(&pdev_list_mutex);
- list_for_each_entry_safe(p, n, &pdev_list, list) {
- platform_device_unregister(p->pdev);
- list_del(&p->list);
- kfree(p);
- }
- mutex_unlock(&pdev_list_mutex);
exit_driver_unreg:
#ifndef CONFIG_HOTPLUG_CPU
platform_driver_unregister(&coretemp_driver);