On Mon, 18 Jan 2010, Rafael J. Wysocki wrote: > > Ouch. This does nearly the same thing as the power/level attribute in > > the USB subsystem, but in an incompatible and more complicated way. > > > > The power/level attribute can contain either "on" or "auto", meaning > > that the device is always on or that it is subject to automatic runtime > > power management (autosuspend). > > It looks like my "disable" is similar to "on", while my "enable" is similar to > "auto". I can use "auto" and "on" just fine. Good. > > Changing the setting from "auto" to "on" merely does sets a flag and does > > pm_runtime_get_sync(); changing it from "on" to "auto" clears the flag and > > does pm_runtime_put_sync(). > > We can do it almost this way in general, although I think the flag should be > changed under the power.lock. Yes. I was using the device semaphore, but the power.lock is more appropriate here. > Updated patch is appended. Why change the name from "level" to "runtime"? > /* > + * runtime - Report/change current runtime PM setting of the device > + * > + * Runtime power management of a device can be blocked with the help of > + * this attribute. All devices have one of the following two values for > + * the power/runtime file: > + * > + * + "auto\n" to allow the device to be power managed at run time; > + * + "on\n" to prevent the device from being power managemed at run time; ---------------------------------------------------------------^^ typo Don't forget to add an entry to Documentation/ABI/testing/. Alan Stern _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm