driver core: remove polling for driver_probe_done(v5)

This patch removes 100ms polling for driver_probe_done in
wait_for_device_probe(), and uses wait_event() instead.
Removing polling in fs initialization may lead to
a faster boot.

This patch also changes the return type of wait_for_device_done()
from int to void.

This patch is against Arjan's patch in linux-next tree.

Signed-off-by: Ming Lei <[email protected]>
Acked-by: Cornelia Huck <[email protected]>
Reviewed-by: Arjan van de Ven <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
This commit is contained in:
Ming Lei 2009-02-21 16:45:07 +08:00 • committed by Greg Kroah-Hartman
commit b23530ebc3
2 changed files with 3 additions and 7 deletions

View file

@ -172,16 +172,12 @@ int driver_probe_done(void)
/**
* wait_for_device_probe
* Wait for device probing to be completed.
*
* Note: this function polls at 100 msec intervals.
*/
int wait_for_device_probe(void)
void wait_for_device_probe(void)
{
/* wait for the known devices to complete their probing */
while (driver_probe_done() != 0)
msleep(100);
wait_event(probe_waitqueue, atomic_read(&probe_count) == 0);
async_synchronize_full();
return 0;
}
/**