07.11.2021 20:32, Guenter Roeck пишет: > On 11/7/21 9:16 AM, Dmitry Osipenko wrote: >> 07.11.2021 20:08, Guenter Roeck пишет: >>> On 11/7/21 8:53 AM, Dmitry Osipenko wrote: >>>> 06.11.2021 23:54, Jonathan Neuschäfer пишет: >>>>> Hi, >>>>> >>>>> On Thu, Oct 28, 2021 at 12:16:57AM +0300, Dmitry Osipenko wrote: >>>>>> Use devm_register_power_handler() that replaces global pm_power_off >>>>>> variable and allows to register multiple power-off handlers. It also >>>>>> provides restart-handler support, i.e. all in one API. >>>>>> >>>>>> Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx> >>>>>> --- >>>>> >>>>> When I boot with (most of) this patchset applied, I get the warning at >>>>> kernel/reboot.c:187: >>>>> >>>>> /* >>>>> * Handler must have unique priority. Otherwise call order is >>>>> * determined by registration order, which is unreliable. >>>>> */ >>>>> WARN_ON(!atomic_notifier_has_unique_priority(&restart_handler_list, >>>>> >>>>> nb)); >>>>> >>>>> As the NTXEC driver doesn't specify a priority, I think this is an >>>>> issue >>>>> to be fixed elsewhere. >>>>> >>>>> Other than that, it works and looks good, as far as I can tell. >>>>> >>>>> >>>>> For this patch: >>>>> >>>>> Reviewed-by: Jonathan Neuschäfer <j.neuschaefer@xxxxxxx> >>>>> Tested-by: Jonathan Neuschäfer <j.neuschaefer@xxxxxxx> >>>> >>>> Thank you. You have conflicting restart handlers, apparently NTXEC >>>> driver should have higher priority than the watchdog driver. It should >>>> be a common problem for the watchdog drivers, I will lower watchdog's >>>> default priority to fix it. >>>> >>> >>> The watchdog subsystem already uses "0" as default priority, which was >>> intended as priority of last resort for restart handlers. I do not see >>> a reason to change that. >> >> Right, I meant that watchdog drivers which use restart handler set the >> level to the default 128 [1]. Although, maybe it's a problem only for >> i.MX drivers in practice, I'll take a closer look at the other drivers. >> > > They don't have to do that. The default is priority 0. It is the decision > of the driver author to set the watchdog's restart priority. So it is wrong > to claim that this would be "a common problem for the watchdog drivers", > because it isn't. Presumably there was a reason for the driver author > to select the default priority of 128. If there is a platform which has > a better means to restart the system, it should select a priority of > 129 or higher instead of affecting _all_ platforms using the imx watchdog > to reset the system. > > Sure, you can negotiate that with the driver author, but the default should > really be to change the priority for less affected platforms. Yes, looks like there is no common problem for watchdog drivers. Initially I was recalling that watchdog core uses 128 by default and typed the message without verifying it. I see now that it's incorrect, my bad. EC drivers tend to use higher priority in general. Jonathan, could you please confirm that NTXEC driver is a more preferable restart method than the watchdog?