提交 851b29cb 编写于 作者: C Chen Gong 提交者: Linus Torvalds

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: NChen 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: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 0dca94ba
...@@ -540,12 +540,9 @@ static int __init coretemp_init(void) ...@@ -540,12 +540,9 @@ static int __init coretemp_init(void)
* sensors. We check this bit only, all the early CPUs * sensors. We check this bit only, all the early CPUs
* without thermal sensors will be filtered out. * without thermal sensors will be filtered out.
*/ */
if (c->cpuid_level >= 6 && (cpuid_eax(0x06) & 0x01)) { if (c->cpuid_level >= 6 && (cpuid_eax(0x06) & 0x01))
err = coretemp_device_add(i); coretemp_device_add(i);
if (err) else {
goto exit_devices_unreg;
} else {
printk(KERN_INFO DRVNAME ": CPU (model=0x%x)" printk(KERN_INFO DRVNAME ": CPU (model=0x%x)"
" has no thermal sensor.\n", c->x86_model); " has no thermal sensor.\n", c->x86_model);
} }
...@@ -560,14 +557,6 @@ static int __init coretemp_init(void) ...@@ -560,14 +557,6 @@ static int __init coretemp_init(void)
#endif #endif
return 0; 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: exit_driver_unreg:
#ifndef CONFIG_HOTPLUG_CPU #ifndef CONFIG_HOTPLUG_CPU
platform_driver_unregister(&coretemp_driver); platform_driver_unregister(&coretemp_driver);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册