[linux-yocto] [PATCH 04/11] Convert lpc_ich_init_wdt to use a switch-case

Yong, Jonathan jonathan.yong at intel.com
Mon Jun 27 18:28:19 PDT 2016


Prevous version lacked a default case, uncovered by TCO v4
hardware. Print notice if unknown version encountered.

Signed-off-by: Yong, Jonathan <jonathan.yong at intel.com>
---
 drivers/mfd/lpc_ich.c | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/drivers/mfd/lpc_ich.c b/drivers/mfd/lpc_ich.c
index c5a9a08..231a372 100644
--- a/drivers/mfd/lpc_ich.c
+++ b/drivers/mfd/lpc_ich.c
@@ -1005,22 +1005,25 @@ static int lpc_ich_init_wdt(struct pci_dev *dev)
 	 * to it we have to read the PMC BASE from config space and address
 	 * the register at offset 0x8.
 	 */
-	if (lpc_chipset_info[priv->chipset].iTCO_version == 1) {
+	switch (lpc_chipset_info[priv->chipset].iTCO_version) {
+	case 1:
 		/* Don't register iomem for TCO ver 1 */
 		lpc_ich_cells[LPC_WDT].num_resources--;
-	} else if (lpc_chipset_info[priv->chipset].iTCO_version == 2) {
+		break;
+	case 2:
 		pci_read_config_dword(dev, RCBABASE, &base_addr_cfg);
 		base_addr = base_addr_cfg & 0xffffc000;
 		if (!(base_addr_cfg & 1)) {
-			dev_notice(&dev->dev, "RCBA is disabled by "
-					"hardware/BIOS, device disabled\n");
+			 dev_notice(&dev->dev, "RCBA is disabled by "
+				"hardware/BIOS, device disabled\n");
 			ret = -ENODEV;
 			goto wdt_done;
 		}
 		res = wdt_mem_res(ICH_RES_MEM_GCS_PMC);
 		res->start = base_addr + ACPIBASE_GCS_OFF;
 		res->end = base_addr + ACPIBASE_GCS_END;
-	} else if (lpc_chipset_info[priv->chipset].iTCO_version == 3) {
+		break;
+	case 3:
 		lpc_ich_enable_pmc_space(dev);
 		pci_read_config_dword(dev, ACPICTRL_PMCBASE, &base_addr_cfg);
 		base_addr = base_addr_cfg & 0xfffffe00;
@@ -1028,6 +1031,10 @@ static int lpc_ich_init_wdt(struct pci_dev *dev)
 		res = wdt_mem_res(ICH_RES_MEM_GCS_PMC);
 		res->start = base_addr + ACPIBASE_PMC_OFF;
 		res->end = base_addr + ACPIBASE_PMC_END;
+		break;
+	default:
+		dev_notice(&dev->dev, "Unknown TCO v%u\n",
+		lpc_chipset_info[priv->chipset].iTCO_version);
 	}
 
 	ret = lpc_ich_finalize_wdt_cell(dev);
-- 
2.7.3



More information about the linux-yocto mailing list