hotplug: add cpu hotplug support for m8b
authorJianxin Pan <jianxin.pan@amlogic.com>
Wed, 12 Apr 2017 09:03:53 +0000 (17:03 +0800)
committerJianxin Pan <jianxin.pan@amlogic.com>
Thu, 13 Apr 2017 10:55:30 +0000 (03:55 -0700)
PD#141217: add cpu hotplug support for m8b
1) enable CONFIG_AMLOGIC_CPU_HOTPLUG
2) clusterID of M8b is 2

Change-Id: I8f6dc6ced430364beb5eb82f20cb7034eb714eb0
Signed-off-by: Jianxin Pan <jianxin.pan@amlogic.com>
arch/arm/configs/meson32_defconfig
drivers/amlogic/cpu_hotplug/cpu_hotplug.c

index b623088..3fc5e00 100644 (file)
@@ -56,6 +56,7 @@ CONFIG_AMLOGIC_CLK=y
 CONFIG_AMLOGIC_M8B_CLK=y
 CONFIG_AMLOGIC_CRYPTO=y
 CONFIG_AMLOGIC_CRYPTO_BLKMV=y
+CONFIG_AMLOGIC_CPU_HOTPLUG=y
 CONFIG_AMLOGIC_MMC=y
 CONFIG_AMLOGIC_M8B_MMC=y
 CONFIG_DEVTMPFS=y
index a92b90b..c8cb0d9 100644 (file)
@@ -62,12 +62,13 @@ int cpu_hotplug_cpumask_init(void)
 
        for (cpu = 0; cpu < num_possible_cpus(); cpu++) {
                clstr = topology_physical_package_id(cpu);
-               if (clstr >= 0 && clstr < MAX_CLUSTRS) {
-                       cpumask_set_cpu(cpu, &hpg.cpumask[clstr]);
-                       if (hpg.clusters < clstr + 1)
-                               hpg.clusters = clstr + 1;
-                       hpg.cpunum[clstr]++;
-               }
+               if (clstr < 0)
+                       continue;
+               clstr &= (MAX_CLUSTRS - 1);
+               cpumask_set_cpu(cpu, &hpg.cpumask[clstr]);
+               if (hpg.clusters < clstr + 1)
+                       hpg.clusters = clstr + 1;
+               hpg.cpunum[clstr]++;
        }
        return 0;
 }
@@ -301,9 +302,8 @@ static int __init cpu_hotplug_init(void)
        mutex_unlock(&hpg.mutex);
        wake_up_process(hpg.hotplug_thread);
 
-       if (cpufreq_global_kobject)
-               err = sysfs_create_file(cpufreq_global_kobject,
-                       &hotplug_max_cpus.attr);
+       err = sysfs_create_file(&cpu_subsys.dev_root->kobj,
+               &hotplug_max_cpus.attr);
 
        return 0;
 }