if (priv->pre_irq)
priv->pre_irq(dev);
- while ((isrc = priv->read_reg(dev, REG_IR)) && (n < 20)) {
+ while ((isrc = priv->read_reg(dev, REG_IR)) && (n < SJA1000_MAX_IRQ)) {
n++;
status = priv->read_reg(dev, REG_SR);
if (priv->post_irq)
priv->post_irq(dev);
- if (n >= 20)
- dev_dbg(ND2D(dev), "Many messages handled in ISR");
+ if (n >= SJA1000_MAX_IRQ)
+ dev_dbg(ND2D(dev), "%d messages handled in ISR", n);
return (n) ? IRQ_HANDLED : IRQ_NONE;
}
*
*/
-#ifndef SJA1000DEV_H
-#define SJA1000DEV_H
+#ifndef SJA1000_DEV_H
+#define SJA1000_DEV_H
#include <linux/version.h>
#include <linux/can/dev.h>
#include <linux/can/platform/sja1000.h>
-#define TX_TIMEOUT (50*HZ/1000) /* 50ms */
-#define RESTART_MS 100 /* restart chip on persistent errors in 100ms */
-#define MAX_BUS_ERRORS 200 /* prevent from flooding bus error interrupts */
+#define SJA1000_MAX_IRQ 20 /* max. number of interrupts handled in ISR */
/* SJA1000 registers - manual section 6.4 (Pelican Mode) */
#define REG_MOD 0x00
/*
* Flags for sja1000priv.flags
*/
-
#define SJA1000_CUSTOM_IRQ_HANDLER 0x1
-
/*
* SJA1000 private data structure
*/