cpufreq: Manage only online cpus

cpufreq core doesn't manage offline cpus and if driver->init() has returned
mask including offline cpus, it may result in unwanted behavior by cpufreq core
or governors.

We need to get only online cpus in this mask. There are two places to fix this
mask, cpufreq core and cpufreq driver. It makes sense to do this at common place
and hence is done in core.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
(cherry picked from commit 54a8d17132d261e758ef77bc32f466451e7a9fbf)
Signed-off-by: thirdzcee <thirdzcee@gmail.com>
cpufreq: break earlier if target_freq is equal to current freq. Also fetch a fix from @imoseyon to update other cpuX nodes when cpu0 gets updated (max/min/gov).

Signed-off-by: Francisco Franco <franciscofranco.1990@gmail.com>
(cherry picked from commit 3824044def701a68c11951f6eed65af3dda342e5)
Signed-off-by: thirdzcee <thirdzcee@gmail.com>

Conflicts:
	drivers/cpufreq/cpufreq.c