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.

Attachment: signature.asc
Description: PGP signature

Reply via email to