|
@@ -29,11 +29,14 @@
|
|
|
|
|
|
#define PPS_TTY_MAGIC 0x0001
|
|
|
|
|
|
-static void pps_tty_dcd_change(struct tty_struct *tty, unsigned int status,
|
|
|
- struct pps_event_time *ts)
|
|
|
+static void pps_tty_dcd_change(struct tty_struct *tty, unsigned int status)
|
|
|
{
|
|
|
- struct pps_device *pps = pps_lookup_dev(tty);
|
|
|
+ struct pps_device *pps;
|
|
|
+ struct pps_event_time ts;
|
|
|
+
|
|
|
+ pps_get_ts(&ts);
|
|
|
|
|
|
+ pps = pps_lookup_dev(tty);
|
|
|
/*
|
|
|
* This should never fail, but the ldisc locking is very
|
|
|
* convoluted, so don't crash just in case.
|
|
@@ -42,7 +45,7 @@ static void pps_tty_dcd_change(struct tty_struct *tty, unsigned int status,
|
|
|
return;
|
|
|
|
|
|
/* Now do the PPS event report */
|
|
|
- pps_event(pps, ts, status ? PPS_CAPTUREASSERT :
|
|
|
+ pps_event(pps, &ts, status ? PPS_CAPTUREASSERT :
|
|
|
PPS_CAPTURECLEAR, NULL);
|
|
|
|
|
|
dev_dbg(pps->dev, "PPS %s at %lu\n",
|