On Mon, Apr 16, 2012 at 09:50, Michael Schmitz
<schmitzmic@xxxxxxxxxxxxxx> 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 -- geert@xxxxxxxxxxxxxx
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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html