smp: Allow booting a specific subset of CPUs

In a heterogenous multiprocessor system, specifying the
'maxcpus' parameter on the kernel command line does not
provide sufficient control over which CPUs are brought
online at kernel boot time, since CPUs may have nonuniform
performance characteristics. Thus, we introduce a
'boot_cpus' command line argument, allowing the user to
explicitly specify the list of CPUs that shall be brought
online during kernel boot.

Change-Id: I5f119e23202660941fa7be8c4e6dd91a82365451
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
net: wireless: bcmdhd: Use powersuspend to prevent panic

* Currently code is checking for deprecated early suspend
  which we don't have 3.4 onwards.
* So helper function is called for checking suspend status.
* This is causing race condition if screen is turned on and off
  rapidly.

Happy Case:
Screen Off -> Wifi Suspended -> Screen On -> Wifi Resumed

Race conditon:
Screen Off -> Wifi Suspended -> Screen On -> Wifi Resumed
-> Screen Off -> Screen On (rapid) -> Wifi Suspended!!

This causes watchdog bark / kernel panic as below:

[ 7217.522130] PM: noirq resume of devices complete after 4.327 msecs
[ 7217.527345] PM: early resume of devices complete after 2.901 msecs
[ 7217.549827] PM: resume of devices complete after 22.455 msecs
[ 7217.551660] Restarting tasks ... done.
[ 7217.558636] PM: suspend exit 2014-05-28 06:29:43.989676647 UTC
[ 7221.016418] [Touch] touch on
[ 7221.217701] mdss_dsi_panel_on
[ 7221.267290] lm3630_backlight_on
[ 7221.292473] dhd_set_suspend: Remove extra suspend setting
[ 7225.155909] lm3630_backlight_off
[ 7225.231024] [prevent_touchscreen_sleep]: payload = 10
[ 7225.383173] mdss_dsi_panel_off:
[ 7225.406145] [Touch] touch off
[ 7226.303258] [Touch] touch on
[ 7226.497452] mdss_dsi_panel_on
[ 7227.373713] [prevent_touchscreen_sleep]: payload = 10
[ 7227.525721] mdss_dsi_panel_off:
[ 7227.548667] [Touch] touch off
[ 7229.718552] [Touch] touch on
[ 7229.917659] mdss_dsi_panel_on
[ 7235.208821] dhd_set_suspend: force extra Suspend setting
[ 7235.220861] dhd_get_suspend_bcn_li_dtim beacon=100 bcn_li_dtim=3 DTIM=1 Listen=10
[ 7241.483289] Watchdog bark! Now = 7241.483285
[ 7241.483342] Watchdog last pet at 7220.296271
[ 7241.483428] cpu alive mask from last pet 0
[ 7241.483474] Causing a watchdog bite! IRQ = 35.

No errors detected
Boot info:
Last boot reason: wdog_bark

Let's use powersuspend driver replacing deprecated earlysuspend drivers.

CAUTION: Powersuspend driver shouldn't use screen on/off hooks else this
         patch is of no use!! If you really want screen on/off level of
         sensitivity, use LCD notifier for such drivers.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
net: wireless: bcmdhd: Remove noisy message

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>