Patch Preview for MVME2100

Oliver Korpilla okorpil at fh-landshut.de
Sun Apr 4 21:27:58 EST 2004


Hello!

I tried to port the available patch for MVME2100 from linux-2.4.2 HHL2.0
to vanilla 2.4.25, and I'd like someone to have a look at it, to say if it
makes sense, because this is a first-timer.

It is not yet verified, because I cannot compile or test it before
tomorrow, but if someone could comment on it still yet, it'd be very much
appreciated.

You can download both the original patches and my tries at new patchs
here:

http://www.fh-landshut.de/~okorpil/mvme2100-linux-2.4.25.patch.bz2
http://www.fh-landshut.de/~okorpil/mvme2100-linux-2.4.25.patch.gz
http://www.fh-landshut.de/~okorpil/mvme2100-linux-2.4.2_hhl20.patch.bz2
http://www.fh-landshut.de/~okorpil/mvme2100-linux-2.4.2_hhl20.patch.gz

The changes I made in detail are attached to this message.

Thanks in advance,
Oliver Korpilla
-------------- next part --------------
I'll try to document what I did for every code snippet in the original patch
so someone else can try to verify that my changes seem to make sense (or not!).

Each of the items below is one of the diff changes to a file in the original
patch and what I did with it.

1)
arch/ppc/Makefile:

originally -> include mvme2100_defconfig target
now -> no longer needed (generic Makefile template in place)

2)
arch/ppc/boot/Makefile:

added entry for tools mkprep, mkbugboot

3)
arch/ppc/boot/include/mvme2100_serial.h

dropped it - why have that info twice?

4)
arch/ppc/boot/include/ns16550.h

put it into include/asm-ppc/serial.h

5) 
arch/ppc/boot/mvme2100/Makefile

dropped it -  I hope I have found the right places for putting that
information instead. I stuck to the places where the CONFIG_LOPEC and
CONFIG_SANDPOINT added modifications to the Makefiles.

6)
arch/ppc/boot/mvme2100/head.S

included it, put a reference to it where head objects are mapped in Makefiles

7)
arch/ppc/boot/mvme2100/head.S.anj

included it, but will not be built by now, head.S from 6) instead

8)
arch/ppc/config.in

included it, and added a configuration dependency for the MPC10x store gathering
where SANDPOINT has one.

9)
arch/ppc/configs/mvme2100_defconfig

included without modification
(may need a make oldconfig first, I guess and removal of targets not in
the mainstream 2.4.x kernels)

10)
arch/ppc/kernel/Makefile

added objects, put platform object mvme2100.o in platforms Makefile

11)
arch/ppc/kernel/mvme2100.h

put it into platforms instead

12)
arch/ppc/kernel/mvme2100_pci.c

put it into platforms as mvme2100.c

13)
arch/ppc/kernel/mvme2100_setup.c

put it into platforms as mvme2100.c

unified 12 and 13 into one file, adapted 
the set_bat calls into calls to io_block_mapping,
commented debug stuff out

14)
arch/ppc/kernel/open_pic.c

tried to match functionality by conditionalizing the code for the interrupt cascade
by disabling it when CONFIG_MVME2100 is present

15)
arch/ppc/kernel/setup.c

instead of referencing a mvme2100_init and conditionally calling it on the right macro
I renamed the init function to platform_init (I guess this is now the way to do things,
with Makefile magic instead of macro clutter, or am I wrong?)

16)
arch/ppc/mm/init.c

There are no longer conditional calls for set_bat in here -> see 13) io_block_mapping

I'm not sure whether the change of the ioremap_base is necessary, since now all platforms with
no HIGH_MEM seem to share the same value, so I dropped that value. What consequences does
this have?

17)
include/asm-ppc/mvme2100_serial.h

only that one in platforms is left

18)
include/asm-ppc/processor.h

Comments in this file suggested this is no longer necessary, so I left it out.

19)
include/asm-ppc/serial.h

already points to platforms


Most changes in my patch that don't directly match with these mentioned are changes distributed
across a set of Makefiles - I guess that's because now a greater deal of Makefile stuff is
handled more uniformly and I tried to stick with that logic.


More information about the Linuxppc-embedded mailing list