-struct candevice_t* register_usbdev(const char *hwname,void *anydev){
+struct candevice_t* register_usbdev(const char *hwname,void *devdata,void (*chipdataregfnc)(struct canchip_t *ch,void *data)){
int i=0, j, board=0;
struct candevice_t *candev;
struct canchip_t *chip;
candev=hardware_p->candevice[board];
/* Adding link to usb device structure into can device */
- candev->sysdevptr.anydev=anydev;
+ candev->sysdevptr.anydev=devdata;
if (candev->hwspecops->request_io(candev))
goto request_io_error;
if((chip=candev->chip[j])==NULL)
continue;
+ chipdataregfnc(chip,devdata);
+
if(chip->chipspecops->attach_to_chip(chip)<0) {
CANMSG("Initial attach to the chip HW failed\n");
goto interrupt_error;