--- 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