if (len & 1) dest[len - 1] = BYTE0(le16_to_cpu(readw(src + 2*i))); 
while (len >= 2) { u16 data = flash_read16(src); *dest++ = BYTE0(data); *dest++ = BYTE1(data); src += 2; len -= 2; }  if (len > 0) *dest++ = BYTE0(flash_read16(src)); 
static void ixp4xx_copy_from(struct map_info *map, void *to,			     unsigned long from, ssize_t len){	int i;	u8 *dest = (u8 *) to;	void __iomem *src = map->virt + from;	u16 data;	for (i = 0; i < (len / 2); i++) {		data = le16_to_cpu(readw(src + 2*i));		dest[i * 2] = BYTE0(data);		dest[i * 2 + 1] = BYTE1(data);	}	if (len & 1)		dest[len - 1] = BYTE0(le16_to_cpu(readw(src + 2*i)));}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/3c77354794939143fdf1dd669895a812f94f9a38/ixp4xx.c/buggy/drivers/mtd/maps/ixp4xx.c