CANMSG("msgobj_done: not registered in the canchip_t\n");
obj->hostchip=NULL;
}
-
+
if((obj->minor>=0)) {
if(objects_p[obj->minor] == obj)
objects_p[obj->minor] = NULL;
else
CANMSG("msgobj_done: not registered as minor\n");
}
-
+
del_timer_sync(&obj->tx_timeout);
if(obj->qends) {
}
can_chip_free_irq(chip);
-
+
can_synchronize_irq(chip->chip_irq);
-
+
for(i=0; i<chip->max_objects; i++){
if((obj=chip->msgobj[i])==NULL)
continue;
msgobj_done(obj);
can_checked_free(obj);
}
-
+
can_checked_free(chip->chipspecops);
chip->chipspecops=NULL;
{
int i;
struct canchip_t *chip;
-
+
for(i=0; i<candev->nr_all_chips; i++){
if((chip=candev->chip[i])==NULL)
continue;
canchip_done(chip);
can_checked_free(chip);
-
+
}
if(candev->flags & CANDEV_IO_RESERVED) {
candev->hwspecops->release_io(candev);
{
int i;
struct candevice_t *candev;
-
+
for(i=0; i<canhw->nr_boards; i++){
if((candev=canhw->candevice[i])==NULL)
continue;