--- a/Embedded/src/1588/1588.c
+++ b/Embedded/src/1588/1588.c
@@ -664,8 +664,7 @@ irqreturn_t timesync_isr(int irq, void *
       0 => success
     < 0 => error
 ******************************************************************************/
-int timesync_ioctl(struct inode *inode, struct file *filp, unsigned int cmd,
-                unsigned long arg)
+long timesync_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
 {
     wait_queue_head_t *event = NULL;
     unsigned int bytes_ret = 0;
--- a/Embedded/src/1588/1588.h
+++ b/Embedded/src/1588/1588.h
@@ -121,8 +121,7 @@ MODULE_DEVICE_TABLE(pci, pci_ids);
 // Linux functions
 int timesync_open(struct inode *inode, struct file *filp);
 int timesync_release(struct inode *inode, struct file *filp);
-int timesync_ioctl(struct inode *inode, struct file *filp, unsigned int cmd,
-				unsigned long arg);
+long timesync_ioctl(struct file *filp, unsigned int cmd, unsigned long arg);
 void timesync_close(void);
 int pci_suspend(struct pci_dev *dev, pm_message_t state);
 int pci_resume(struct pci_dev *dev);
@@ -142,7 +141,7 @@ struct file_operations file_ops =
 	.owner		= THIS_MODULE,
 	.open     = timesync_open,
 	.release    = timesync_release,	
-	.ioctl		= timesync_ioctl,
+	.unlocked_ioctl = timesync_ioctl,
 };
 
 // Linux pci operations
