On 05/01/11 20:56, John Crispin wrote:
> > adr += chip->start;> +#ifdef CONFIG_MTD_CFI_CMD_SWIZZLE> + adr ^= 2;> +#endif> > mutex_lock(&chip->mutex);> ret = get_chip(map, chip, adr, FL_WRITING);>
Hi,
What this patch essentially does is to make sure to pass a addr with the
^=2 hack already applied, so that the complex map ends up with an un
swizzled addr as it applies the hack internally again.
I think it would be cleanest to extend the read/write callbacks of
struct map_info; with a flag indicating whether we are doing a CMD or
DATA action. as the 2 following macros are used anyway, it should not be
too hard to implement this.
#define map_read(map, ofs) (map)->read(map, ofs)
#define map_write(map, datum, ofs) (map)->write(map, datum, ofs)
I am not sure however if this is the correct fix.
Thanks,
John