Re: [Update][RFC][PATCH] PM / Runtime: Add sysfs switch for disabling device run-time PM

From: Rafael J. Wysocki
Date: Tue Jan 19 2010 - 15:32:13 EST


On Tuesday 19 January 2010, Alan Stern wrote:
> 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"?

Because it wouldn't be really obvious what "level" applied to. For example,
some people might expect the values of "level" to correspond to PCI power
states for PCI devices and so on, so it might turn out to be confusing.

> > /*
> > + * 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

Ah, thanks

> Don't forget to add an entry to Documentation/ABI/testing/.

OK

Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/