Kumar Gala wrote:
I'm not sure if we can actually get away with completely removing
get_immrbase() but I figured I'd give everyone something to flame me
about. The current users are:
I think we want to keep it for an eventual re-introduction of a large
TLB entry to cover IMMR (but no longer at a fixed virtual address, of
course).
CPM/QE related users.
arch/powerpc/include/asm/cpm1.h:#define IMAP_ADDR (get_immrbase())
only used drivers/net/fs_enet/fs_enet-main.c which seems evil.
That driver *is* evil. :-)
It looks like the only remaining user of fs_enet_immap (which is what
IMAP_ADDR is used to initialize) is in mac-fec.c, under CONFIG_DUET --
which hasn't been touched since 2005 and appears to have died with arch/ppc.
I'm fine with removing it -- it probably no longer compiles anyway.
arch/powerpc/sysdev/cpm1.c: mpc8xx_immr = ioremap(get_immrbase(),
0x4000);
not sure? ideas?
This is used for accessing a variety of registers, not all of which are
currently expressed in the device tree.
arch/powerpc/include/asm/cpm2.h:#define CPM_MAP_ADDR (get_immrbase() +
0x80000)
arch/powerpc/sysdev/cpm2.c: cpm2_immr = ioremap(get_immrbase(),
CPM_MAP_SIZE);
these two are related and seem like we could look for "fsl,cpm2"
And do what with it that wouldn't be a reimplementation of get_immrbase()?
arch/powerpc/platforms/83xx/suspend.c: rcw_regs =
ioremap(get_immrbase() + IMMR_RCW_OFFSET,
arch/powerpc/platforms/83xx/suspend.c: immrbase = get_immrbase();
The suspend code touches a variety of SOC registers in various blocks --
likely including some which are not described by any device node at present.
-Scott
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev