--- a/Embedded/src/CAN/can_main.c
+++ b/Embedded/src/CAN/can_main.c
@@ -72,6 +72,7 @@
 #include "can_main.h"
 #include "can_ioctl.h"
 #include <linux/fs.h>
+#include <linux/module.h>
 
 
 MODULE_AUTHOR("Intel(R) Corporation");
@@ -110,7 +111,7 @@ struct file_operations file_ops = {
     .owner        = THIS_MODULE,
     .read        = can_read,
     .write        = can_write,
-    .ioctl        = can_dev_io,
+    .unlocked_ioctl = can_dev_io,
     .open        = can_open,
     .release     = can_release
 };
@@ -594,8 +595,7 @@ int icp_can_reset(can_os_t *can_os)
 /*****************************************************************************
  * Device IO control function. Used by user apps to configure CAN device.
  *****************************************************************************/
-int can_dev_io(struct inode *inode, struct file *filp, unsigned int cmd,
-      unsigned long arg)
+long can_dev_io(struct file *filp, unsigned int cmd, unsigned long arg)
 {
     can_os_t *can_os;
     unsigned int err=0;
--- a/Embedded/src/CAN/can_main.h
+++ b/Embedded/src/CAN/can_main.h
@@ -157,8 +157,7 @@ ssize_t can_write(
 int icp_can_reset(
     can_os_t *can_os);
     
-int can_dev_io(
-    struct inode *inode, 
+long can_dev_io(
     struct file *filp, 
     unsigned int cmd, 
     unsigned long arg);
