> It could be a bit better... I did as above since I supposed that youIdeally. But if it is genuinely the case that the serial port IRQ handler in some cases needs to do my_interrupt() { get_timestamp() frob_with_hardware() ld->dcd_change(blah, timestamp) } then that is still fairly clean and more importantly actually appears to work. I'd avoid all the ifdefs with this in the serial drivers that need more accuracy: { struct timespec ts; if (ld->dcd_change) getnstimeofday(&ts); existing tty stuff if (ld->dcd_change) ld->dcd_change(tty, status, &ts); } And in ld->dcd_change do struct timespec myts; /* Caller passed NULL meaning 'do your own timestamp' */ if (ts == NULL) { ts = &myts; getnstimeofday(&myts); } so for uart that would uart_dcd_change(struct uart_port *port, unsigned int status, struct timespec *ts) { { ... } passing the timestamp from the ttys own IRQ handler --
| David Miller | Re: Slow DOWN, please!!! |
| Greg Kroah-Hartman | [PATCH 013/196] Documentation: Replace obsolete "driverfs" with "sysfs". |
| James Bottomley | Re: Integration of SCST in the mainstream Linux kernel |
| Jeff Garzik | Re: [RFC] Heads up on sys_fallocate() |
git: | |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Linus Torvalds | Re: [GIT]: Networking |
| Andrew Morton | Re: [BUG] New Kernel Bugs |
