[vox-tech] Driver Question

Mark K. Kim vox-tech@lists.lugod.org
Sun, 14 Sep 2003 21:45:43 -0700 (PDT)


The app is supposed to block ("freeze") if the data hasn't been read by
the driver.  It stays blocked ("frozen") until the data is available.

The app can choose to not block in such situation, by using the "select"
or "poll" system call.  If the file descriptor is set to non-blocking
mode, and if no data is available, then the read() system call returns -1
and sets "errno" to "EAGAIN".  You probably have to implement these
features into the driver.

Have fun~!

-Mark


On Sun, 14 Sep 2003, John Wojnaroski wrote:

> Hi,
>
> Building a driver for a hardware board and things are looking good... Using
> the O'Reilly book by Rubini and Corbet as a guide, but have a bit of a
> question??
>
> The driver is interrupt driven when the board posts data to the port and
> that works fine. Data is retreived and stored in kernel space and the app
> can use "result = read(fd, mesg, sizeof data)" to access the file (a char
> device). But I can't seem to figure out how to notify the app that the
> driver has read the data.
>
> Rather than polling would just like to read when data has been updated (
> kind of like a keyboard using a callback function)
>
> Any thoughts, hints, references would be appreciated.
>
> Thanks
> John W
>
> _______________________________________________
> vox-tech mailing list
> vox-tech@lists.lugod.org
> http://lists.lugod.org/mailman/listinfo/vox-tech
>

-- 
Mark K. Kim
http://www.cbreak.org/
PGP key available on the website
PGP key fingerprint: 7324 BACA 53AD E504 A76E  5167 6822 94F0 F298 5DCE