#include "../include/can_iortl.h"
#endif /*CAN_WITH_RTL*/
-#if defined(CONFIG_OC_LINCAN_CARD_ul_usb1)
+#if defined(CONFIG_OC_LINCAN_CARD_usbcan)
#include "../include/usbcan.h"
#endif
}
#endif
-#if defined(CONFIG_OC_LINCAN_CARD_ul_usb1)
+#if defined(CONFIG_OC_LINCAN_CARD_usbcan)
res = usbcan_init();
if (res){
CANMSG("usb_register for usbcan failed. Error number %d.\n", res);
struct candevice_t* register_usbdev(const char *hwname,void *anydev){
- int i=0, j, board;
+ int i=0, j, board=0;
struct candevice_t *candev;
struct canchip_t *chip;
struct boardtype_t *brp;
while ( (hw[board] != NULL) && (board < MAX_HW_CARDS) )
board++;
+ if (board>=MAX_HW_CARDS){
+ CANMSG("Maximum number of devices has been reached, no space for new device");
+ return NULL;
+ }
brp = boardtype_find(hwname);
if(!brp) {
CANMSG("Sorry, hardware \"%s\" is currently not supported.\n",hw[board]);
candev=hardware_p->candevice[board];
+ /* Adding link to usb device structure into can device */
candev->sysdevptr.anydev=anydev;
if (candev->hwspecops->request_io(candev))
int i=0;
int dev_minor;
+ if (!dev)
+ return;
+
#ifdef CONFIG_PROC_FS
if (can_delete_procentry(dev))
CANMSG("Error unregistering /proc/can entry.\n");
}
#endif
- for(i=0;i<MAX_TOT_MSGOBJS;i++) {
- if(!objects_p[i]) continue;
- if(objects_p[i]->hostchip->hostdevice != dev) continue;
- canqueue_ends_done_chip(objects_p[i]->qends);
- can_checked_free(objects_p[i]->qends);
- can_checked_free(objects_p[i]);
- objects_p[i]=NULL;
- }
-
for(i=0;i<MAX_TOT_CHIPS;i++){
if(!chips_p[i]) continue;
if(chips_p[i]->hostdevice != dev) continue;
- can_checked_free(chips_p[i]->chipspecops);
- can_checked_free(chips_p[i]);
chips_p[i]=NULL;
}
hardware_p->candevice[dev->candev_idx]=NULL;
hardware_p->nr_boards--;
- //kfree(hw[dev->candev_idx]);
hw[dev->candev_idx]=NULL;
- can_checked_free(dev->hwspecops);
- can_checked_free(dev);
-// if ( can_del_mem_list() )
-// CANMSG("Error deallocating memory\n");
+ candevice_done(dev);
+ can_checked_free(dev);
}
{
int res=0,i=0;
-#if defined(CONFIG_OC_LINCAN_CARD_ul_usb1)
- ul_usb1_exit();
+#if defined(CONFIG_OC_LINCAN_CARD_usbcan)
+ usbcan_exit();
#endif
#ifdef CONFIG_PROC_FS