-
-int init_chipspecops(struct candevice_t *candev, int chipnr)
-{
- if (!strcmp(candev->chip[chipnr]->chip_type,"i82527")) {
- candev->chip[chipnr]->max_objects=15;
- i82527_register(candev->chip[chipnr]->chipspecops);
- }
- if (!strcmp(candev->chip[chipnr]->chip_type,"sja1000")) {
- candev->chip[chipnr]->max_objects=1;
- sja1000_register(candev->chip[chipnr]->chipspecops);
- }
- if (!strcmp(candev->chip[chipnr]->chip_type,"sja1000p")) {
- candev->chip[chipnr]->max_objects=1;
- sja1000p_register(candev->chip[chipnr]->chipspecops);
- }
-
- return 0;
-}
-
-#ifndef CAN_WITH_RTL
-
-int can_chip_setup_irq(struct chip_t *chip)
-{
- if(chip==NULL)
- return -1;
- if(!chip->chipspecops->irq_handler)
- return 0;
-
- if (request_irq(chip->chip_irq,chip->chipspecops->irq_handler,SA_SHIRQ,DEVICE_NAME,chip))
- return -1;
- else {
- DEBUGMSG("Registered interrupt %d\n",chip->chip_irq);
- chip->flags |= CHIP_IRQ_SETUP;
- }
- return 1;
-}
-
-
-void can_chip_free_irq(struct chip_t *chip)
-{
- if((chip->flags & CHIP_IRQ_SETUP) && (chip->chip_irq>=0)) {
- free_irq(chip->chip_irq, chip);
- chip->flags &= ~CHIP_IRQ_SETUP;
- }
-}
-
-#endif /*CAN_WITH_RTL*/