On Fri, May 08, 2020 at 12:19:23AM +0300, Serge Semin wrote: > On Thu, May 07, 2020 at 01:17:35PM +0200, Thomas Bogendoerfer wrote: > > P5600 is CPU_MIPS_R5 so can't you select it here and drop all the || CPU_5600 > > above/below ? > > Alas, We can't do this so easy. CONFIG_CPU_MIPS32_{R2,R5,R6} and any other > CONFIG_CPU_* configs is something that kernel config-file is supposed to select. > Their availability is enabled by the CONFIG_SYS_HAS_CPU_* configs. CONFIG_CPU_* > is supposed to activate CPU-specific features and there is only one > CONFIG_CPU_x can be enabled at a time seeing it's a part of the "CPU type" > choice kconfig menu. In addition the CPU config also tunes a compiler to activate > the arch-specific ISA and optimizations in the arch/mips/Makefile by setting > -march=cpu-name (where cpu-name can be p5600, mips32r5, etc). > > Yes, P5600 is based on the MIPS32r5, but it also has got some specific features > (see config CPU_P5600 and config MIPS32_R5), which makes it to be different from > the ancestor. So In addition to the difficulties described above IMHO converting > CPU_P5600 to a set of features activated on top of the CPU_MIPS32_R5 config > would contradict the design of the CPU-support configs implemented in the MIPS > arch subsystem. maybe I wasn't clear enough, my suggestion is use config CPU_P5600 bool "MIPS Warrior P5600" depends on SYS_HAS_CPU_P5600 select CPU_MIPS32_R5 select CPU_SUPPORTS_UNCACHED_ACCELERATED select CPU_SUPPORTS_CPUFREQ select CPU_MIPSR2_IRQ_VI select CPU_MIPSR2_IRQ_EI That way you don't need to any "|| CPU_P5600" where CPU_MIPS32_R5 is already there. Or are there cases, where this would be wrong ? Thomas. -- Crap can work. Given enough thrust pigs will fly, but it's not necessarily a good idea. [ RFC1925, 2.3 ]