Messages in this thread | | | Date | Wed, 27 Aug 2014 20:39:39 +0200 | From | Tomasz Figa <> | Subject | Re: [PATCH 1/1] regulator: max77802: set opmode to normal if off is read from hw |
| |
On 27.08.2014 20:37, Mark Brown wrote: > On Wed, Aug 27, 2014 at 08:32:38PM +0200, Tomasz Figa wrote: >> On 26.08.2014 13:37, Javier Martinez Canillas wrote: > >>> + /* >>> + * If the regulator is disabled and the system warm rebooted, >>> + * the hardware reports OFF as the regulator operating mode. >>> + * Default to operating mode NORMAL in that case. >>> + */ >>> + if (val == MAX77802_OPMODE_OFF) >>> + max77802->opmode[id] = MAX77802_OPMODE_NORMAL; >>> + else >>> + max77802->opmode[id] = val; > >> I might be missing something, but I believe I see a flaw here. If after >> a cold boot opmode is something else than OFF or NORMAL, the kernel >> starts, turns the regulator off and does warm reboot, the setting is >> lost and the regulator is switched to NORMAL mode. > > That's essentially the situation the patch is trying to fix - if we boot > and the regulator is off there's no way to figure out what the operating > mode would have been so we have to pick something. If you've got an > idea for something better to do... >
Probably the only way to correctly handle this is to specify the right operating mode in DT (after defining a binding for it).
| |