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.
