#include <linux/list.h>
 #include <linux/platform_device.h>
 #include <linux/cpu.h>
-#include <linux/pci.h>
 #include <linux/smp.h>
 #include <linux/moduleparam.h>
 #include <asm/msr.h>
        int usemsr_ee = 1;
        int err;
        u32 eax, edx;
-       struct pci_dev *host_bridge;
        int i;
 
        /* explicit tjmax table entries override heuristics */
                        return tjmax_table[i].tjmax;
        }
 
-       /* Early chips have no MSR for TjMax */
-
-       if (c->x86_model == 0xf && c->x86_mask < 4)
-               usemsr_ee = 0;
-
        /* Atom CPUs */
 
-       if (c->x86_model == 0x1c || c->x86_model == 0x26
-           || c->x86_model == 0x27) {
-               usemsr_ee = 0;
-
-               host_bridge = pci_get_bus_and_slot(0, PCI_DEVFN(0, 0));
+       if (c->x86_model == 0x1c) {
+               /*
+                * TjMax for stepping 10 CPUs (N4xx, N5xx, D4xx, D5xx)
+                * is 100 degrees C, for all others it is 90 degrees C.
+                */
+               if (c->x86_mask == 10)
+                       return 100000;
+               return 90000;
+       } else if (c->x86_model == 0x26 || c->x86_model == 0x27) {
+               return 90000;
+       } else if (c->x86_model == 0x36) {
+               return 100000;
+       }
 
-               if (host_bridge && host_bridge->vendor == PCI_VENDOR_ID_INTEL
-                   && (host_bridge->device == 0xa000   /* NM10 based nettop */
-                   || host_bridge->device == 0xa010))  /* NM10 based netbook */
-                       tjmax = 100000;
-               else
-                       tjmax = 90000;
+       /* Early chips have no MSR for TjMax */
 
-               pci_dev_put(host_bridge);
-       } else if (c->x86_model == 0x36) {
+       if (c->x86_model == 0xf && c->x86_mask < 4)
                usemsr_ee = 0;
-               tjmax = 100000;
-       }
 
        if (c->x86_model > 0xe && usemsr_ee) {
                u8 platform_id;