Messages in this thread | | | Date | Sun, 29 Jan 2017 23:43:52 +0100 | From | Sebastian Reichel <> | Subject | Re: [PATCH] power: reset: Add MAX77620 support |
| |
Hi,
On Sun, Jan 29, 2017 at 12:47:57PM -0800, Guenter Roeck wrote: > On 01/29/2017 12:02 PM, Sebastian Reichel wrote: > > > > > > > To keep things simple, I think it would be okay to allow only one of > > > each type of controller in any running system. It's very unlikely that > > > board designers would devise two different ways of powering off or > > > restarting a system, while in a similar way an SoC or CPU would only > > > ever provide one way to do so. Even if theoretically multiple > > > possibilities exist, I think the board code should pick which ones are > > > appropriate. > > > > Using that logic we may also advice, that board-code should only > > register the board-level reset/poweroff and it's enough to have > > a callback again... I wonder if that is really feasible. > > > > FWIW, it is also not true.
It seems this was misunderstood. I do not expect this to work.
> There is a reason why many of the restart handlers used to have > code saying "install restart handler, but only if none is > installed yet". Which of course is racy, and gets more interesting > if the restart handler installed first is unloaded at a later > time, leaving the system with no restart handler. Or both are > unloaded, leaving the system with a pointer to a no longer > existing handler. > > One could then argue that anything implementing a restart handler must > not unload. Which results in more restrictions. And drivers loaded > on hardware which don't need it. And more corner cases to deal with. > And more inconsistencies. > > In reality, many systems or system variants will have more than one means > to restart it. Yes, board designers do devise multiple ways of powering off > or restarting a system. There may be and likely are valid reasons for doing > so; I would not want to claim or suggest that board designers would design > such hardware without reason. Even "standard" PCs tend to have have more > than one means to reset it. There _was_ a reason for introducing that > framework; I didn't just do it for fun. > > However, as I had mentioned before, I am not really interested in this > topic anymore. Just treat this as my final word of caution, or feel free > to ignore it. I hope you'll find a much better solution than mine > to implement "the board code should pick which ones are appropriate".
In case I was unclear: I'm fine with the current state of reboot code using notifier chain and really thankful for the work. IMHO it improved the status-quo a lot.
However I'm not fine with the current poweroff stuff and if somebody offers to implement a solution compatible with Linus (and other people, which disliked the notifier chain approach): Thanks, please do!
-- Sebastian [unhandled content-type:application/pgp-signature] | |