1. NAME

parport_wait_peripheral - wait for status lines to change in 35ms

2. SYNOPSIS

int parport_wait_peripheral(struct parport *  port , unsigned char  mask , unsigned char  result );

3. ARGUMENTS

port
    port to watch

mask
    status lines to watch

result
    desired values of chosen status lines

4. DESCRIPTION

This function waits until the masked status lines have the desired values, or until 35ms have elapsed (see IEEE 1284-1994 page 24 to 25 for why this value in particular is hardcoded). The mask and result parameters are bitmasks, with the bits defined by the constants in parport.h: PARPORT_STATUS_BUSY, and so on.

The port is polled quickly to start off with, in anticipation of a fast response from the peripheral. This fast polling time is configurable (using /proc), and defaults to 500usec. If the timeout for this port (see parport_set_timeout) is zero, the fast polling time is 35ms, and this function does not call schedule.

If the timeout for this port is non-zero, after the fast polling fails it uses parport_wait_event to wait for up to 10ms, waking up if an interrupt occurs.

5. COPYRIGHT