Re: [PATCH 6/8] PM: Add suspend blocking work.

Pavel Machek
2010-04-28T06:06:59Z

Hi!

> Allow work to be queued that will block suspend while it is pending
> or executing. To get the same functionality in the calling code often
> requires a separate suspend_blocker for pending and executing work, or
> additional state and locking. This implementation does add additional
> state and locking, but this can be removed later if we add support for
> suspend blocking work to the core workqueue code.
>
> Signed-off-by: Arve Hj??nnev??g <arve@android.com>

Seems sane. ACK.

> +struct suspend_blocking_work {
> + struct work_struct work;
> +#ifdef CONFIG_OPPORTUNISTIC_SUSPEND

Cound we name it C_AUTO_SUSPEND... to reduce length and typo
potential?

> + struct suspend_blocker suspend_blocker;
> + work_func_t func;
> + spinlock_t lock;
> + int active;

Is the lock internal-use, or is API user allowed to use it?
Pavel

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html