*
* File: src/usbcan.c
*/
-void usbcan_register_devs(struct canchip_t *chip,void *data){
+int usbcan_register_devs(struct canchip_t *chip,void *data){
struct usbcan_devs *usbdevs=(struct usbcan_devs *)data;
if (!usbdevs){
CANMSG("Bad structure given\n");
- return;
+ return -1;
}
if (chip->chip_idx>=usbdevs->count) {
CANMSG("Requested chip number is bigger than chip count\n");
- return;
+ return -1;
}
usbdevs->devs[chip->chip_idx]->chip=chip;
chip->chip_data=(void *)usbdevs->devs[chip->chip_idx];
+ return 0;
}
/**
/* save our data pointer in this interface device */
usb_set_intfdata(interface, usbdevs);
- if (!(usbdevs->candev=register_hotplug_dev("usbcan",(void *) usbdevs, usbcan_register_devs)))
+ if (!(usbdevs->candev=register_hotplug_dev("usbcan", usbcan_register_devs,(void *) usbdevs)))
goto register_error;
/* let the user know what node this device is now attached to */