Not knowing the details of your board, it is a little tough to propose a
better solution, but here goes.

Since your using the parallel port, you should consider an interrupt based
driver, have the board provide the interrupt signal when the A/D conversion
is completed. Most A/D chips provide a sense line that indicates when the
converion is completed and the data can be read. that way you don't have to
"wait" for the board.
Connect the sense line to the interrupt pin on the parallel port.

Then create a tasklet that is called by the driver to move the data from
kernel space to user space.

This is a bit more complex than a simple polling scheme, but far more elegant
and reliable and totally independent of CPU speed or processor performance.
Odds are you won't even notice the short time the CPU is servicing the
interrupt.

Regards
John W

Dear John,

That sounds like the best solution. The A/D IC does have an End Of
Conversion pic that I can connect to any of the parallel port inputs. I'm
relatively new to C. Do you know of a function I can cell that would wait
for an interrupt from the parallel port, or is it necessary for me to
write one?