char *hwname; /* text board type */
int candev_idx; /* board index in canhardware_t.candevice[] */
unsigned long io_addr; /* IO/physical MEM address */
- unsigned long res_addr; /* optional seset register port */
+ unsigned long res_addr; /* optional reset register port */
unsigned long dev_base_addr; /* CPU translated IO/virtual MEM address */
unsigned int flags;
int nr_all_chips;
* @start_chip: starts chip message processing
* @stop_chip: stops chip message processing
* @irq_handler: interrupt service routine
+ * @irq_accept: optional fast irq accept routine responsible for blocking further interrupts
*/
struct chipspecops_t {
int (*chip_config)(struct canchip_t *chip);
int (*start_chip)(struct canchip_t *chip);
int (*stop_chip)(struct canchip_t *chip);
int (*irq_handler)(int irq, struct canchip_t *chip);
+ int (*irq_accept)(int irq, struct canchip_t *chip);
};
struct mem_addr {