Merge branch 'sii-m15w' into upstream
[powerpc.git] / arch / i386 / kernel / cpu / cyrix.c
index 7501597..f03b7f9 100644 (file)
@@ -184,7 +184,7 @@ static void __init geode_configure(void)
 
 
 #ifdef CONFIG_PCI
-static struct pci_device_id cyrix_55x0[] = {
+static struct pci_device_id __initdata cyrix_55x0[] = {
        { PCI_DEVICE(PCI_VENDOR_ID_CYRIX, PCI_DEVICE_ID_CYRIX_5510) },
        { PCI_DEVICE(PCI_VENDOR_ID_CYRIX, PCI_DEVICE_ID_CYRIX_5520) },
        { },
@@ -272,14 +272,15 @@ static void __init init_cyrix(struct cpuinfo_x86 *c)
 
                printk(KERN_INFO "Working around Cyrix MediaGX virtual DMA bugs.\n");
                isa_dma_bridge_buggy = 2;
-#endif         
-               c->x86_cache_size=16;   /* Yep 16K integrated cache thats it */
+
+
                /*
                 *  The 5510/5520 companion chips have a funky PIT.
                 */  
                if (pci_dev_present(cyrix_55x0))
                        pit_latch_buggy = 1;
+#endif
+               c->x86_cache_size=16;   /* Yep 16K integrated cache thats it */
 
                /* GXm supports extended cpuid levels 'ala' AMD */
                if (c->cpuid_level == 2) {
@@ -345,7 +346,7 @@ static void __init init_cyrix(struct cpuinfo_x86 *c)
 /*
  * Handle National Semiconductor branded processors
  */
-static void __devinit init_nsc(struct cpuinfo_x86 *c)
+static void __init init_nsc(struct cpuinfo_x86 *c)
 {
        /* There may be GX1 processors in the wild that are branded
         * NSC and not Cyrix.
@@ -353,7 +354,7 @@ static void __devinit init_nsc(struct cpuinfo_x86 *c)
         * This function only handles the GX processor, and kicks every
         * thing else to the Cyrix init function above - that should
         * cover any processors that might have been branded differently
-        * after NSC aquired Cyrix.
+        * after NSC acquired Cyrix.
         *
         * If this breaks your GX1 horribly, please e-mail
         * info-linux@ldcmail.amd.com to tell us.
@@ -444,6 +445,14 @@ int __init cyrix_init_cpu(void)
 
 //early_arch_initcall(cyrix_init_cpu);
 
+static int __init cyrix_exit_cpu(void)
+{
+       cpu_devs[X86_VENDOR_CYRIX] = NULL;
+       return 0;
+}
+
+late_initcall(cyrix_exit_cpu);
+
 static struct cpu_dev nsc_cpu_dev __initdata = {
        .c_vendor       = "NSC",
        .c_ident        = { "Geode by NSC" },
@@ -458,3 +467,11 @@ int __init nsc_init_cpu(void)
 }
 
 //early_arch_initcall(nsc_init_cpu);
+
+static int __init nsc_exit_cpu(void)
+{
+       cpu_devs[X86_VENDOR_NSC] = NULL;
+       return 0;
+}
+
+late_initcall(nsc_exit_cpu);