-#include "ca91c042.h"
-
-#define UNICAN_VME_IRQ 1
-
-/* Used to pass chip pointer to irq handler. This sould be done in VME
- * bridge driver */
-#define VME_CHIPS_SIZE 8
-struct chip_t *vme_chips[VME_CHIPS_SIZE];
-
-can_irqreturn_t unican_vme_irq_handler(int vmeirq, int vector, void *dev_id, struct pt_regs *regs)
-{
-/* struct chip_t *chip = vme_chips[vector < VME_CHIPS_SIZE && vector >= 0 ? vector : 0]; */
- struct chip_t *chip = vme_chips[0];
-
- DEBUGMSG("unican_vme_irq_handler: vmeirq=0x%08x vector=0x%08x\n", vmeirq, vector);
- return unican_irq_handler(vmeirq, chip, regs);
-}
-
-/**
- * unican_program_irq - program interrupts
- * @candev: Pointer to candevice/board structure
- *
- * Return value: The function returns zero on success or %-ENODEV on failure
- * File: src/unican.c
- */
-int unican_vme_program_irq(struct candevice_t *candev)
-{
- struct chip_t *chip = candev->chip[0];
-
- if (chip->chip_irq < 0 || chip->chip_irq >= VME_CHIPS_SIZE) {
- CANMSG("Bad irq parameter. Maximum is %d.\n", VME_CHIPS_SIZE-1);
- return -EINVAL;
- }
-
-/* vme_chips[chip->chip_irq] = chip; */
- vme_chips[0] = chip;
-
- request_vmeirq(UNICAN_VME_IRQ, unican_vme_irq_handler);
- enable_vmeirq(UNICAN_VME_IRQ);
-
- return 0;
-}
-
-int unican_vme_request_io(struct candevice_t *candev)
-{
- unican_request_io(candev);
-
- return 0;
-}
-
-/**
- * unican_vme_release_io - free reserved io memory range
- * @candev: pointer to candevice/board which releases io
- *
- * Return Value: The function always returns zero
- * File: src/unican.c
- */
-int unican_vme_release_io(struct candevice_t *candev)
-{
- disable_vmeirq(UNICAN_VME_IRQ);
- free_vmeirq(UNICAN_VME_IRQ);
-
- unican_release_io(candev);
-
- return 0;
-}