On Mon, Apr 16, 2012 at 09:50, Michael Schmitz
<[email protected]> wrote:
>> | #define rom_out_be16(addr, w) ({u16 __w, __v = (w); __w = ((*(__force
>> volatile u16 *) ((addr) + 0x10000 + (__v<<1)))); })
>> | #define rom_out_be32(addr, l) ({u32 __w, __v = (l); __w = ((*(__force
>> volatile u32 *) ((addr) + 0x10000 + (__v<<1)))); })
>> | #define rom_out_le16(addr, w) ({u16 __w, __v = cpu_to_le16(w); __w =
>> ((*(__force volatile u16 *) ((addr) + 0x10000 + (__v<<1)))); })
>> | #define rom_out_le32(addr, l) ({u32 __w, __v = cpu_to_le32(l); __w =
>> ((*(__force volatile u32 *) ((addr) + 0x10000 + (__v<<1)))); })
>>
>> The above four also can't work. Remove them?
>
> Probably - not sure what the behavior will be if writing more than one byte
> (might not be safe to use). Using dummies (potentially to generate compiler
> warnings or runtime warnings) might be safer.
As soon as the value you're writing is bigger than 0x7fff, you'll get out of the
64 KiB write window.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html