if(obj->hostchip->msgobj[obj->object-1] == obj)
obj->hostchip->msgobj[obj->object-1]=NULL;
else
- CANMSG("msgobj_done: not registered in the chip_t\n");
+ CANMSG("msgobj_done: not registered in the canchip_t\n");
obj->hostchip=NULL;
}
* canchip_done - destroys one CAN chip representation
* @chip: pointer to CAN chip structure
*/
-void canchip_done(struct chip_t *chip)
+void canchip_done(struct canchip_t *chip)
{
int i;
struct msgobj_t *obj;
+ if(chip->flags & CHIP_ATTACHED)
+ chip->chipspecops->release_chip(chip);
+
if((chip->hostdevice) && (chip->chip_idx>=0)) {
if(chip->hostdevice->chip[chip->chip_idx] == chip)
chip->hostdevice->chip[chip->chip_idx] = NULL;
void candevice_done(struct candevice_t *candev)
{
int i;
- struct chip_t *chip;
+ struct canchip_t *chip;
for(i=0; i<candev->nr_all_chips; i++){
if((chip=candev->chip[i])==NULL)