@@ -248,8 +248,28 @@ static inline void flexcan_write(u32 val
out_be32(addr, val);
}
#else
-static inline u32 flexcan_read(void __iomem *addr)
+#ifdef DEBUG
+#define LINE_OFFS 21
+#define flexcan_read(a) flexcan_dbg_read(a, __func__, __LINE__)
+static inline u32 flexcan_dbg_read(void __iomem *addr,
+ const char *fn, int ln)
{
+ u32 val = readl(addr);
+ printk("%s@%d: read %08x from %p\n", fn, ln - LINE_OFFS, val, addr);
+ return val;
+}
+
+#define flexcan_write(v, a) flexcan_dbg_write(v, a, __func__, __LINE__)
+static inline void flexcan_dbg_write(u32 val, void __iomem *addr,
+ const char *fn, int ln)
+{
+ printk("%s@%d: writing %08x to %p\n", fn, ln - LINE_OFFS, val, addr);
+ writel(val, addr);
+}
+#else
+static inline u32 flexcan_dbg_read(void __iomem *addr)
+{
+ u32 val = readl(addr);
return readl(addr);
}
@@ -257,6 +277,7 @@ static inline void flexcan_write(u32 val
{
writel(val, addr);
}
+#endif /* DEBUG */
#endif
static inline int flexcan_has_and_handle_berr(const struct flexcan_priv *priv,