Merge tag 'for-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 5 Apr 2020 20:47:57 +0000 (13:47 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 5 Apr 2020 20:47:57 +0000 (13:47 -0700)
Pull power supply and reset changes from Sebastian Reichel:
 "Core:
   - Nothing

  Drivers:
   - at91-reset: cleanups, proper handling for sam9x60
   - sc27xx, charger-manager: allow building as module
   - sc27xx: add support to read current charge capacity
   - axp288: more quirks for weird hardware
   - misc fixes"

* tag 'for-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (26 commits)
  power: reset: sc27xx: Allow the SC27XX poweroff driver building into a module
  power: reset: sc27xx: Change to use cpu_down()
  power: reset: sc27xx: Power off the external subsystems' connection
  power: twl4030: Use scnprintf() for avoiding potential buffer overflow
  power: supply: bq27xxx_battery: Silence deferred-probe error
  power: reset: at91-reset: handle nrst async for sam9x60
  power: reset: at91-reset: get rid of at91_reset_data
  power: reset: at91-reset: keep only one reset function
  power: reset: at91-reset: make at91sam9g45_restart() generic
  power: reset: at91-reset: introduce ramc_lpr to struct at91_reset
  power: reset: at91-reset: use r4 as tmp argument
  power: reset: at91-reset: introduce args member in at91_reset_data
  power: reset: at91-reset: introduce struct at91_reset_data
  power: reset: at91-reset: devm_kzalloc() for at91_reset data structure
  power: reset: at91-reset: pass rstc base address to at91_reset_status()
  power: reset: at91-reset: convert reset in pointer to struct at91_reset
  power: reset: at91-reset: add notifier block to struct at91_reset
  power: reset: at91-reset: add sclk to struct at91_reset
  power: reset: at91-reset: add ramc_base[] to struct at91_reset
  power: reset: at91-reset: introduce struct at91_reset
  ...

1  2 
drivers/power/reset/sc27xx-poweroff.c

index 29fb08b8faa0af73a100325a7d4f6af7ea3b64f8,69863074daf6869c331ff32037838c241d2e3a54..90287c31992c4889f9241e82a21a1949ecca7702
@@@ -27,10 -30,13 +30,13 @@@ static struct regmap *regmap
   */
  static void sc27xx_poweroff_shutdown(void)
  {
- #ifdef CONFIG_PM_SLEEP_SMP
-       int cpu = smp_processor_id();
+ #ifdef CONFIG_HOTPLUG_CPU
+       int cpu;
  
-       freeze_secondary_cpus(cpu);
+       for_each_online_cpu(cpu) {
+               if (cpu != smp_processor_id())
 -                      cpu_down(cpu);
++                      remove_cpu(cpu);
+       }
  #endif
  }