X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Farm%2Fmm%2Fblockops.c;h=806c6eeb1b0c945185089b1f34c1116d281ccdd0;hb=9bf4aaab3e101692164d49b7ca357651eb691cb6;hp=cdd1a27f665a4d743837e1060bde6ced20f49251;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/arch/arm/mm/blockops.c b/arch/arm/mm/blockops.c index cdd1a27f6..806c6eeb1 100644 --- a/arch/arm/mm/blockops.c +++ b/arch/arm/mm/blockops.c @@ -130,10 +130,11 @@ static struct undef_hook blockops_hook __initdata = { static int __init blockops_check(void) { register unsigned int err asm("r4") = 0; + unsigned int err_pos = 1; unsigned int cache_type; int i; - asm("mcr p15, 0, %0, c0, c0, 1" : "=r" (cache_type)); + asm("mrc p15, 0, %0, c0, c0, 1" : "=r" (cache_type)); printk("Checking V6 block cache operations:\n"); register_undef_hook(&blockops_hook); @@ -156,8 +157,8 @@ static int __init blockops_check(void) unregister_undef_hook(&blockops_hook); - for (i = 0; i < ARRAY_SIZE(func); i++, err >>= 1) - printk("%30s: %ssupported\n", func[i], err & 1 ? "not " : ""); + for (i = 0; i < ARRAY_SIZE(func); i++, err_pos <<= 1) + printk("%30s: %ssupported\n", func[i], err & err_pos ? "not " : ""); if ((err & 8) == 0) { printk(" --> Using %s block cache invalidate\n",