[PATCH] pinctrl: qcom: use restart_notifier mechanism for ps_hold
From: Josh Cartwright <hidden>
Date: 2014-09-19 15:25:34
Also in:
linux-arm-msm, lkml
On Thu, Sep 18, 2014 at 08:34:41PM -0700, Guenter Roeck wrote:
On 09/18/2014 07:54 PM, Guenter Roeck wrote:quoted
On 09/18/2014 03:32 PM, Josh Cartwright wrote:quoted
By converting to the restart_notifier mechanism for restart, we allow for other mechanisms, like the watchdog, to be used for restart in the case where PS_HOLD has failed to reset the chip. Choose priority 128, as according to documentation, this mechanism "is sufficient to restart the entire system". Cc: Pramod Gurav <redacted> Cc: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Josh Cartwright <redacted> ---
[..]
quoted
quoted
int msm_pinctrl_probe(struct platform_device *pdev, const struct msm_pinctrl_soc_data *soc_data)@@ -943,6 +948,15 @@ int msm_pinctrl_remove(struct platform_device *pdev) pinctrl_unregister(pctrl->pctrl); + if (pctrl->restart_nb.notifier_call) {One more comment: The conditional is really unnecessary. Just let unregister_restart_handler deal with it ...quoted
quoted
+ ret = unregister_restart_handler(&pctrl->restart_nb);and just ignore the error return. The function will only return an error if the entry was not found, and then it is a don't care.
Awesome, thanks. I like simplifications :). I was hijacking notifier_call to indicate whether or not the restart notifier was registered at all (because it's conditional on the particular chipset having a "ps_hold" function). But, nice to know unregister_restart_handler() does the right thing if the handler wasn't registered in the first place. Josh -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation