Andy Fleming wrote:
I tried. Technically, we can. But the issue is that struct gfar *enet_regs->gfar_mii_regs is declared:

u8 gfar_mii_regs[24];

I could not find any sequence of castings that made the warning go away about casting that to a struct gfar_mii __iomem *. And that includes mucking around with the declaration of gfar_mii_regs. I vaguely recall determining that you couldn't make it a struct, because you can't guarantee gcc won't much with the size of the struct. Or something.

We use structs for registers all over the place. The only time GCC should mess with struct layout is if fields aren't aligned as required by the ABI (and in that case, use the packed attribute).

-Scott
_______________________________________________
Linuxppc-dev mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to