perf tools: Add missing header to color.c
[cascardo/linux.git] / drivers / watchdog / sp5100_tco.c
index 6467b91..028618c 100644 (file)
@@ -73,6 +73,13 @@ MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started."
 /*
  * Some TCO specific functions
  */
+
+static bool tco_has_sp5100_reg_layout(struct pci_dev *dev)
+{
+       return dev->device == PCI_DEVICE_ID_ATI_SBX00_SMBUS &&
+              dev->revision < 0x40;
+}
+
 static void tco_timer_start(void)
 {
        u32 val;
@@ -129,7 +136,7 @@ static void tco_timer_enable(void)
 {
        int val;
 
-       if (sp5100_tco_pci->revision >= 0x40) {
+       if (!tco_has_sp5100_reg_layout(sp5100_tco_pci)) {
                /* For SB800 or later */
                /* Set the Watchdog timer resolution to 1 sec */
                outb(SB800_PM_WATCHDOG_CONFIG, SB800_IO_PM_INDEX_REG);
@@ -342,8 +349,7 @@ static unsigned char sp5100_tco_setupdevice(void)
        /*
         * Determine type of southbridge chipset.
         */
-       if (sp5100_tco_pci->device == PCI_DEVICE_ID_ATI_SBX00_SMBUS &&
-           sp5100_tco_pci->revision < 0x40) {
+       if (tco_has_sp5100_reg_layout(sp5100_tco_pci)) {
                dev_name = SP5100_DEVNAME;
                index_reg = SP5100_IO_PM_INDEX_REG;
                data_reg = SP5100_IO_PM_DATA_REG;
@@ -388,8 +394,7 @@ static unsigned char sp5100_tco_setupdevice(void)
         * Secondly, Find the watchdog timer MMIO address
         * from SBResource_MMIO register.
         */
-       if (sp5100_tco_pci->device == PCI_DEVICE_ID_ATI_SBX00_SMBUS &&
-           sp5100_tco_pci->revision < 0x40) {
+       if (tco_has_sp5100_reg_layout(sp5100_tco_pci)) {
                /* Read SBResource_MMIO from PCI config(PCI_Reg: 9Ch) */
                pci_read_config_dword(sp5100_tco_pci,
                                      SP5100_SB_RESOURCE_MMIO_BASE, &val);