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

Reply via email to