Added .shutdown function to s2mps11 to help poweroff the board succefully. The device drivers set the register to turn off the PMIC. Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> --- Changes fixes the poweroff root@odroidxu3:~# poweroff Broadcast message from root@odroidxu3 (/dev/ttySAC2) at 13:08 ... The system is going down for power off NOW! root@odroidxu3:~# wait-for-state stop/waiting * Stopping rsync daemon rsync [ OK ] * Stopping RDP Session manager [ OK ] * Stopping NTP server ntpd [ OK ] * Asking all remaining processes to terminate... [ OK ] * All processes ended within 1 seconds... [ OK ] nm-dispatcher.action: Caught signal 15, shutting down... ModemManager[2134]: <warn> Could not acquire the 'org.freedesktop.ModemManager1' service name ModemManager[2134]: <info> ModemManager is shut down * Unmounting temporary filesystems... [ OK ] * Deactivating swap... [ OK ] * Unmounting local filesystems... [ OK ] * Will now halt [ 209.020280] reboot: Power down [ 209.122039] Power down failed, please power off system manually. --- drivers/regulator/s2mps11.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/regulator/s2mps11.c b/drivers/regulator/s2mps11.c index ff82811..871f7b8 100644 --- a/drivers/regulator/s2mps11.c +++ b/drivers/regulator/s2mps11.c @@ -1060,6 +1060,13 @@ out: return ret; } +static void s2mps11_pmic_shutdown(struct platform_device *pdev) +{ + struct sec_pmic_dev *iodev = dev_get_drvdata(pdev->dev.parent); + + regmap_update_bits(iodev->regmap_pmic, S2MPS11_REG_CTRL1, 0xff, 0x00); +} + static const struct platform_device_id s2mps11_pmic_id[] = { { "s2mps11-pmic", S2MPS11X}, { "s2mps13-pmic", S2MPS13X}, @@ -1074,6 +1081,7 @@ static struct platform_driver s2mps11_pmic_driver = { .name = "s2mps11-pmic", }, .probe = s2mps11_pmic_probe, + .shutdown = s2mps11_pmic_shutdown, .id_table = s2mps11_pmic_id, }; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html