[sent again with Rodolfo in the list of recipients, something went wrong, sorry!]
Hi Rodolfo, Thanks for your reply! On Wed, Apr 1, 2015 at 10:11 AM, Rodolfo Giometti <[email protected]> wrote: > On Tue, Mar 31, 2015 at 11:31:22PM +0200, Christian Riesch wrote: >> The PPS_FETCH ioctl in drivers/pps/pps.c blocks until a new PPS event >> occurs, then returns the time stamp data. While this is fine for >> lots of applications, sometimes it would be nice if the poll system >> call and a subsequent read could be used to obtain the pps data. > > Nak. The read syscall can't be forced to return fix amount of > data. I just copied/modified the behavior of ptp_read() in drivers/ptp/ptp_chardev.c: if (cnt % sizeof(struct ptp_extts_event) != 0) return -EINVAL; There the amount of data is forced to be a multiple of sizeof(struct ptp_extts_event). But if you prefer an ioctl, I can change that of course. > Use a dedicated ioctl instead. Is it ok to pair POLLIN | POLLRDNORM in the poll function with an ioctl? Or should returning POLLIN | POLLRDNORM mean that a read() will not block? Should I use POLLPRI instead or something else? Regards, Christian -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

