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.