2010-12-08 07:56:11

by Alexander Stein

[permalink] [raw]
Subject: detached sleepable task during initcall

Hello,

we need to run a platform dependant function changing GPIOs which need a
specific time between those changes. Actually it is the platform set_power
function used by platform_lcd_probe. This itself is no problem. But the
currently used msleeps on about 250ms summarized is really much while the
system idles.
We'd like to avoid idle during that msleeps. So, we used a work_queue in that
set_power function. But unforturnatly do_initcalls calls flush_scheduled_work
at the end. So the system will still idle until this work_queue has finished.
What can we use to call the set_power function asynchronously and sleepable
while not waiting during system startup on this function to be finished? The
set_power just enabled the lcd power and nothing need to wait on that.

Regards,
Alexander