ARM: mmp/mmp2: fix cpu_is_mmp2() on mmp2-dt
cpu_is_mmp2() was equivalent to cpu_is_pj4(), wouldn't be correct for multiplatform kernels. Fix it by also considering mmp_chip_id, as is done for cpu_is_pxa168() and cpu_is_pxa910() above. Moreover, it is only available with CONFIG_CPU_MMP2 and thus doesn't work on DT-based MMP2 machines. Enable it on CONFIG_MACH_MMP2_DT too. Note: CONFIG_CPU_MMP2 is only used for machines that use board files instead of DT. It should perhaps be renamed. I'm not doing it now, because I don't have a better idea. Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> Acked-by: Arnd Bergmann <arnd@arndb.de> Cc: stable@vger.kernel.org Signed-off-by: Olof Johansson <olof@lixom.net>hifive-unleashed-5.1
parent
358b5f73ce
commit
76f4e2c3b6
|
@ -44,10 +44,12 @@ static inline int cpu_is_pxa910(void)
|
||||||
#define cpu_is_pxa910() (0)
|
#define cpu_is_pxa910() (0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_CPU_MMP2
|
#if defined(CONFIG_CPU_MMP2) || defined(CONFIG_MACH_MMP2_DT)
|
||||||
static inline int cpu_is_mmp2(void)
|
static inline int cpu_is_mmp2(void)
|
||||||
{
|
{
|
||||||
return (((read_cpuid_id() >> 8) & 0xff) == 0x58);
|
return (((read_cpuid_id() >> 8) & 0xff) == 0x58) &&
|
||||||
|
(((mmp_chip_id & 0xfff) == 0x410) ||
|
||||||
|
((mmp_chip_id & 0xfff) == 0x610));
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
#define cpu_is_mmp2() (0)
|
#define cpu_is_mmp2() (0)
|
||||||
|
|
Loading…
Reference in New Issue