-int template_request_io(unsigned long io_addr);
-int template_release_io(unsigned long io_addr);
-int template_reset(int card);
-int template_init_hw_data(int card);
-int template_init_chip_data(int card, int chipnr);
-int template_init_obj_data(int chipnr, int objnr);
-void template_write_register(unsigned char data, unsigned long address);
-unsigned template_read_register(unsigned long address);
-int template_program_irq(int card);
+int template_request_io(struct candevice_t *candev);
+int template_release_io(struct candevice_t *candev);
+int template_reset(struct candevice_t *candev);
+int template_init_hw_data(struct candevice_t *candev);
+int template_init_chip_data(struct candevice_t *candev, int chipnr);
+int template_init_obj_data(struct canchip_t *chip, int objnr);
+void template_write_register(unsigned data, can_ioptr_t address);
+unsigned template_read_register(can_ioptr_t address);
+int template_program_irq(struct candevice_t *candev);