On Wed, Jan 25, 2017 at 11:27:11AM -0800, Dmitry Torokhov wrote: > For the record, the main issue for the drivers, which is being solved by > exposing power supplies to the driver, is the following:
> 1. We suspend the device. Since there is no regulators the driver
> assumes that it will retain it's state upon resume
That's *not* a sensible thing for drivers to assume regardless of the
presence or absence of explicitly controlled regulators, that just seems
like a plain old driver bug. Even if there are regulators that doesn't
mean there isn't a suspend mode configuration that disables those
regulators.
> I would really hate to go through _every_ driver and add the following
> code to the resume path:
>
> #if IS_ENABLED(CONFIG_ACPI)
> if (acpi_device_was_powered_off_between_suspend_and_now(dev)) {
> completely_reinitialize_device(dev);
> }
> #endif
That's not an ACPI thing, unless the device thinks it's actively
providing a wakeup source then if the system suspends the driver should
not be surprised to have power pulled - that's pretty normal. If the
driver is a wakeup source then it's a bit different.
signature.asc
Description: PGP signature

