CPU hotplug, re-create sysfs directory and symlinks
commitf8c02e3305bdf8656219da21fde9f0b8b31c0508
authorJacob Shin <jacob.shin@amd.com>
Wed, 27 Apr 2011 18:32:11 +0000 (27 13:32 -0500)
committerAndi Kleen <ak@linux.intel.com>
Mon, 1 Aug 2011 20:54:49 +0000 (1 13:54 -0700)
treebd561560bc723a93736715e69bf88aa4f7028ff6
parent465e9df58b3007510231e030db6f622f4a46a6ac
CPU hotplug, re-create sysfs directory and symlinks

commit 27ecddc2a9f99ce4ac9a59a0acd77f7100b6d034 upstream.

When we discover CPUs that are affected by each other's
frequency/voltage transitions, the first CPU gets a sysfs directory
created, and rest of the siblings get symlinks. Currently, when we
hotplug off only the first CPU, all of the symlinks and the sysfs
directory gets removed. Even though rest of the siblings are still
online and functional, they are orphaned, and no longer governed by
cpufreq.

This patch, given the above scenario, creates a sysfs directory for
the first sibling and symlinks for the rest of the siblings.

Please note the recursive call, it was rather too ugly to roll it
out. And the removal of redundant NULL setting (it is already taken
care of near the top of the function).

Signed-off-by: Jacob Shin <jacob.shin@amd.com>
Acked-by: Mark Langsdorf <mark.langsdorf@amd.com>
Reviewed-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
drivers/cpufreq/cpufreq.c