#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.
*/
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
}
hw[board]=brp->boardtype;
- if (init_new_hw_struct(board))
+ if (init_new_hw_struct(board)){
+ CANMSG("HW struct creation failed.\n");
return NULL;
+ }
#ifdef CAN_DEBUG
list_hw();
CANMSG("Error to program board interrupt\n");
goto interrupt_error;
}
-
+ CANMSG("Registering /proc entry\n");
#ifdef CONFIG_PROC_FS
if (can_init_procentry(board))
goto proc_error;
return NULL;
}
-void cleanup_hotplug_dev(struct candevice_t *dev)
+void deregister_hotplug_dev(struct candevice_t *dev)
{
int i=0;
int dev_minor;
if (!dev)
return;
- DEBUGMSG("Cleaning up hotplug device.\n");
+ DEBUGMSG("Deregistering hotplug device.\n");
#ifdef CONFIG_PROC_FS
if (can_delete_procentry(dev))
}
#endif
+}
+
+
+void cleanup_hotplug_dev(struct candevice_t *dev)
+{
+ int i=0;
+ int dev_minor;
+
+ if (!dev)
+ return;
+ DEBUGMSG("Cleaning up hotplug device.\n");
+
for(i=0;i<MAX_TOT_CHIPS;i++){
if(!chips_p[i]) continue;
if(chips_p[i]->hostdevice != dev) continue;