]> rtime.felk.cvut.cz Git - lincan.git/blobdiff - lincan/src/main.c
reference count for device opens added (helps while asynchronous remove
[lincan.git] / lincan / src / main.c
index 8018b58ba4323db67bad83a9af54626b116ea6e1..367c98db26e13da5687768b0ec9927fa7b24da43 100644 (file)
@@ -464,8 +464,10 @@ struct candevice_t* register_hotplug_dev(const char *hwname,int (*chipdataregfnc
        }
        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();
@@ -510,7 +512,7 @@ struct candevice_t* register_hotplug_dev(const char *hwname,int (*chipdataregfnc
                        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;
@@ -592,14 +594,14 @@ struct candevice_t* register_hotplug_dev(const char *hwname,int (*chipdataregfnc
                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))
@@ -629,6 +631,18 @@ void cleanup_hotplug_dev(struct candevice_t *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;