]> rtime.felk.cvut.cz Git - lincan.git/blobdiff - lincan/src/main.c
Actual driver code for directly mapped SJA1000 into PCI mem region 0.
[lincan.git] / lincan / src / main.c
index df2e84cb6be56450d8ea517f0ac6f053491c87bc..c2c8b1e945ba734acc577002d6fdf21300e4ae7c 100644 (file)
@@ -36,8 +36,6 @@
 #define EXPORT_SYMTAB
 #endif
 
-#include <linux/autoconf.h>
-
 #include <linux/module.h>
 
 #include <linux/kernel.h>
 #include <linux/sched.h>
 #include <linux/poll.h>
 #include <linux/version.h>
-#include <linux/autoconf.h>
 #include <linux/interrupt.h>
 
 #if (LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,0))
+ #include <linux/autoconf.h>
  #include <linux/wrapper.h>
 #else
  #include <linux/device.h>
@@ -202,6 +200,13 @@ devfs_handle_t  devfs_handles[MAX_TOT_MSGOBJS];
 #endif
 #endif
 
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36))
+static int can_oldapi_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
+{
+       return can_ioctl(file, cmd, arg);
+}
+#endif /* 2.6.36 */
+
 /* Pointers to dynamically allocated memory are maintained in a linked list
  * to ease memory deallocation.
  */
@@ -215,7 +220,11 @@ struct file_operations can_fops=
        read:           can_read,
        write:          can_write,
        poll:           can_poll,
-       ioctl:          can_ioctl,
+  #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36))
+       ioctl:          can_oldapi_ioctl,
+  #else /* Linux 3.x */
+       unlocked_ioctl: can_ioctl,
+  #endif /* Linux 3.x */
        open:           can_open,
        release:        can_close,
   #ifdef CAN_ENABLE_KERN_FASYNC