|
@@ -61,8 +61,6 @@ static long pps_cdev_ioctl(struct file *file,
|
|
|
{
|
|
|
struct pps_device *pps = file->private_data;
|
|
|
struct pps_kparams params;
|
|
|
- struct pps_fdata fdata;
|
|
|
- unsigned long ticks;
|
|
|
void __user *uarg = (void __user *) arg;
|
|
|
int __user *iuarg = (int __user *) arg;
|
|
|
int err;
|
|
@@ -136,7 +134,9 @@ static long pps_cdev_ioctl(struct file *file,
|
|
|
|
|
|
break;
|
|
|
|
|
|
- case PPS_FETCH:
|
|
|
+ case PPS_FETCH: {
|
|
|
+ struct pps_fdata fdata;
|
|
|
+
|
|
|
pr_debug("PPS_FETCH: source %d\n", pps->id);
|
|
|
|
|
|
err = copy_from_user(&fdata, uarg, sizeof(struct pps_fdata));
|
|
@@ -149,6 +149,8 @@ static long pps_cdev_ioctl(struct file *file,
|
|
|
if (fdata.timeout.flags & PPS_TIME_INVALID)
|
|
|
err = wait_event_interruptible(pps->queue, pps->go);
|
|
|
else {
|
|
|
+ unsigned long ticks;
|
|
|
+
|
|
|
pr_debug("timeout %lld.%09d\n",
|
|
|
(long long) fdata.timeout.sec,
|
|
|
fdata.timeout.nsec);
|
|
@@ -185,7 +187,7 @@ static long pps_cdev_ioctl(struct file *file,
|
|
|
return -EFAULT;
|
|
|
|
|
|
break;
|
|
|
-
|
|
|
+ }
|
|
|
default:
|
|
|
return -ENOTTY;
|
|
|
break;
|