From: Chen Gong Date: Fri, 8 Oct 2010 05:53:35 +0000 (+0000) Subject: hwmon: (pkgtemp) align driver initialization style with coretemp X-Git-Tag: firefly_0821_release~7613^2~3641^2~16 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=fd53d08465a79d742a297be1d7d173f8a13972a6;p=firefly-linux-kernel-4.4.55.git hwmon: (pkgtemp) align driver initialization style with coretemp pkgtemp is derived from coretemp, so some reasonable logics should be applied onto pkgtemp, too. Such as the init logic here. Signed-off-by: Chen Gong Signed-off-by: Guenter Roeck --- diff --git a/drivers/hwmon/pkgtemp.c b/drivers/hwmon/pkgtemp.c index c9f652d84ea1..a8fc35e854c7 100644 --- a/drivers/hwmon/pkgtemp.c +++ b/drivers/hwmon/pkgtemp.c @@ -34,6 +34,7 @@ #include #include #include +#include #define DRVNAME "pkgtemp" @@ -391,7 +392,6 @@ static struct notifier_block pkgtemp_cpu_notifier __refdata = { static int __init pkgtemp_init(void) { int i, err = -ENODEV; - struct pdev_entry *p, *n; /* quick check if we run Intel */ if (cpu_data(0).x86_vendor != X86_VENDOR_INTEL) @@ -401,31 +401,25 @@ static int __init pkgtemp_init(void) if (err) goto exit; - for_each_online_cpu(i) { - err = pkgtemp_device_add(i); - if (err) - goto exit_devices_unreg; - } + for_each_online_cpu(i) + pkgtemp_device_add(i); + +#ifndef CONFIG_HOTPLUG_CPU if (list_empty(&pdev_list)) { err = -ENODEV; goto exit_driver_unreg; } +#endif #ifdef CONFIG_HOTPLUG_CPU register_hotcpu_notifier(&pkgtemp_cpu_notifier); #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); +#ifndef CONFIG_HOTPLUG_CPU exit_driver_unreg: platform_driver_unregister(&pkgtemp_driver); +#endif exit: return err; }