On Sat, Jul 12, 2008 at 04:32:25PM +0200, Thomas Bogendoerfer wrote: > > mips_machtype is still used in some places. > > Should we check first whether it can be removed? > > I don't know Ralf's opinion about the removal, but if he agrees, we > should just look for the remaining usage cases and see, if it could > be resolved in a differnt way. I was also planning to get rid of it. A while ago I already removed mips_machgroup. This was easy with no real user remaining. Removing mips_machtype turned out to be slightly trickier since there are actual users remaining. > Here is my first look at all the various MACH_XXX: > > > #define MACH_ACER_PICA_61 0 /* Acer PICA-61 (PICA1) */ > > #define MACH_MIPS_MAGNUM_4000 1 /* Mips Magnum 4000 "RC4030" */ > > #define MACH_OLIVETTI_M700 2 /* Olivetti M700-10 (-15 ??) */ > > all three are in arch/mips/fw/arc/identify.c, but only MACH_MIPS_MAGNUM_4000 > is used in arch/mips/jazz/setup.c. But the usage in arch/mips/jazz/setup.c > is not quite correct and I'd like to remove it there. > > > #define MACH_DSUNKNOWN 0 > > #define MACH_DS23100 1 /* DECstation 2100 or 3100 */ > > #define MACH_DS5100 2 /* DECsystem 5100 */ > > #define MACH_DS5000_200 3 /* DECstation 5000/200 */ > > #define MACH_DS5000_1XX 4 /* DECstation 5000/120, 125, 133, 150*/ > > #define MACH_DS5000_XX 5 /* DECstation 5000/20, 25, 33, 50 */ > > #define MACH_DS5000_2X0 6 /* DECstation 5000/240, 260 */ > > #define MACH_DS5400 7 /* DECsystem 5400 */ > > #define MACH_DS5500 8 /* DECsystem 5500 */ > > #define MACH_DS5800 9 /* DECsystem 5800 */ > > #define MACH_DS5900 10 /* DECsystem 5900 */ > > that's the only poweruser. I'd rename mips_machtype to dec_machtype and > just use it for decstation as it is today. Yep. > > #define MACH_SNI_RM200_PCI 0 /* RM200/RM300/RM400 PCI series */ > > only in arch/mips/fw/arc/identify > > > #define MACH_SGI_IP22 0 /* Indy, Indigo2, Challenge S */ > > #define MACH_SGI_IP27 1 /* Origin 200, Origin 2000, Onyx 2 */ > > #define MACH_SGI_IP28 2 /* Indigo2 Impact */ > > #define MACH_SGI_IP32 3 /* O2 */ > > #define MACH_SGI_IP30 4 /* Octane, Octane2 */ > > all SGI defines are only in arch/mips/fw/arc/identify > > > #define MACH_PALLAS 0 > > #define MACH_TOPAS 1 > > #define MACH_JMR 2 > > #define MACH_TOSHIBA_JMR3927 3 /* JMR-TX3927 CPU/IO board */ > > these 4 are unused > > > #define MACH_TOSHIBA_RBTX4927 4 > > #define MACH_TOSHIBA_RBTX4937 5 > > #define MACH_TOSHIBA_RBTX4938 6 > > there is only one usage for that, so moving the code for setting of > mips_machtype from toshiba_rbtx4927_prom.c to toshiba_rbtx4927_setup.c > will make that defines obsolete. > > > #define MACH_LASAT_100 0 /* Masquerade II/SP100/SP50/SP25 */ > > #define MACH_LASAT_200 1 /* Masquerade PRO/SP200 */ > > these are used, but could easily replaced by checking for CPU type > (see lasat/prom.c how LASAT_100/LASAT_200 get selected). That or a platform-private variable. > > #define MACH_NEC_MARKEINS 0 /* NEC EMMA2RH Mark-eins */ > > unused I guess people blindly following Jun's old porting howto ... > > #define MACH_MSP4200_EVAL 0 /* PMC-Sierra MSP4200 Evaluation */ > > #define MACH_MSP4200_GW 1 /* PMC-Sierra MSP4200 Gateway demo */ > > #define MACH_MSP4200_FPGA 2 /* PMC-Sierra MSP4200 Emulation */ > > #define MACH_MSP7120_EVAL 3 /* PMC-Sierra MSP7120 Evaluation */ > > #define MACH_MSP7120_GW 4 /* PMC-Sierra MSP7120 Residential GW */ > > #define MACH_MSP7120_FPGA 5 /* PMC-Sierra MSP7120 Emulation */ > > #define MACH_MSP_OTHER 255 /* PMC-Sierra unknown board type */ > > this looks a little messy. The _EVAL and _GW defines are more a kernel > config option than a real machine type and all they are good for is > selecting whether there is a second serial port and which speed the > speed kgdb should use. I'd remove that all and just set a flag, whether > there is a second uart. I'd remove the kgbd usage, but if it's really > needed adding another flag/variabne would do the trick. When I looked at it last time I found that some of the mips_machtype uses might be replaced with platform devices. Ralf