ARM: SAMSUNG: Fix CPU idmask
authorKukjin Kim <kgene.kim@samsung.com>
Wed, 23 Mar 2011 05:45:29 +0000 (14:45 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Mon, 28 Mar 2011 07:17:54 +0000 (16:17 +0900)
This patch fixes CPU idmask of S5P64X0 and EXYNOS4210
and its comparison method because just want to use CPU
id for it.

Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
arch/arm/plat-s5p/cpu.c
arch/arm/plat-samsung/init.c

index c3bfe9b13acf0c64c671e725395a8ba4d8ab423d..5cf5e721e6caf83234bd556936286a632961ff48 100644 (file)
@@ -39,7 +39,7 @@ static const char name_exynos4210[] = "EXYNOS4210";
 static struct cpu_table cpu_ids[] __initdata = {
        {
                .idcode         = 0x56440100,
-               .idmask         = 0xffffff00,
+               .idmask         = 0xfffff000,
                .map_io         = s5p6440_map_io,
                .init_clocks    = s5p6440_init_clocks,
                .init_uarts     = s5p6440_init_uarts,
@@ -47,7 +47,7 @@ static struct cpu_table cpu_ids[] __initdata = {
                .name           = name_s5p6440,
        }, {
                .idcode         = 0x36442000,
-               .idmask         = 0xffffff00,
+               .idmask         = 0xfffff000,
                .map_io         = s5p6442_map_io,
                .init_clocks    = s5p6442_init_clocks,
                .init_uarts     = s5p6442_init_uarts,
@@ -55,7 +55,7 @@ static struct cpu_table cpu_ids[] __initdata = {
                .name           = name_s5p6442,
        }, {
                .idcode         = 0x36450000,
-               .idmask         = 0xffffff00,
+               .idmask         = 0xfffff000,
                .map_io         = s5p6450_map_io,
                .init_clocks    = s5p6450_init_clocks,
                .init_uarts     = s5p6450_init_uarts,
@@ -79,7 +79,7 @@ static struct cpu_table cpu_ids[] __initdata = {
                .name           = name_s5pv210,
        }, {
                .idcode         = 0x43210000,
-               .idmask         = 0xfffff000,
+               .idmask         = 0xfffe0000,
                .map_io         = exynos4_map_io,
                .init_clocks    = exynos4_init_clocks,
                .init_uarts     = exynos4_init_uarts,
index 6790edfaca6f49aad661fb34cffafc4115dff9f6..79d10fca9090268b4e817cc299f2021634a27d17 100644 (file)
@@ -36,7 +36,7 @@ static struct cpu_table * __init s3c_lookup_cpu(unsigned long idcode,
                                                unsigned int count)
 {
        for (; count != 0; count--, tab++) {
-               if ((idcode & tab->idmask) == tab->idcode)
+               if ((idcode & tab->idmask) == (tab->idcode & tab->idmask))
                        return tab;
        }