There's a side effect with your macro. Let's expand it:
+#define set_2regs(a, b) \
+ OUT_BYTE((a + adj), indexreg); \
+ OUT_BYTE(b, datareg);
[...]
+ if (speed == XFER_UDMA_2)
+ set_2regs(thold, (IN_BYTE(datareg) & 0x7f));
if (speed == XFER_UDMA_2)
OUT_BYTE((thold + adj), indexreg);
OUT_BYTE((IN_BYTE(datareg) & 0x7f), datareg);
Do you see the problem ?
-- Ueimor - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/