/* Read len bytes from fifo and then read till 32-bit boundary */ static void read_ptddata_from_fifo(struct isp116x *isp116x, void *buf, int len) { u8 *dp = (u8 *) buf; u16 *dp2 = (u16 *) buf; u16 w; int quot = len % 4; if ((unsigned long)dp2 & 1) { /* not aligned */ for (; len > 1; len -= 2) { w = isp116x_raw_read_data16(isp116x); *dp++ = w & 0xff; *dp++ = (w >> 8) & 0xff; } if (len) *dp = 0xff & isp116x_read_data16(isp116x); } else { /* aligned */ for (; len > 1; len -= 2)
/* Read len bytes from fifo and then read till 32-bit boundary. */ static void read_ptddata_from_fifo(struct isp116x *isp116x, void *buf, int len) { u8 *dp = (u8 *) buf; u16 *dp2 = (u16 *) buf; u16 w; int quot = len % 4; /* buffer is already in 'usb data order', which is LE. */ /* When reading buffer as u16, we have to take care byte order */ /* doesn't get mixed up */ if ((unsigned long)dp2 & 1) { /* not aligned */ for (; len > 1; len -= 2) { w = isp116x_raw_read_data16(isp116x); *dp++ = w & 0xff; *dp++ = (w >> 8) & 0xff; } if (len) *dp = 0xff & isp116x_read_data16(isp116x); } else { /* aligned */ for (; len > 1; len -= 2) {