watchdog: sp5100_tco: Use standard error codes

"Linux Kernel Mailing List" <[email protected]>
Newsgroups gmane.linux.kernel.commits.head
Message-ID <[email protected]>
Web:        https://git.kernel.org/torvalds/c/23dfe140057baa165daebadf8f4600e3603e0954
Commit:     23dfe140057baa165daebadf8f4600e3603e0954
Parent:     16e7730bd7ec7f4ec19628e5ddd172df28cf996d
Refname:    refs/heads/master
Author:     Guenter Roeck <[email protected]>
AuthorDate: Sun Dec 24 13:04:09 2017 -0800
Committer:  Wim Van Sebroeck <[email protected]>
CommitDate: Sun Jan 21 12:56:35 2018 +0100

    watchdog: sp5100_tco: Use standard error codes
    
    By using standard error codes, we can identify and return more than one
    error condition.
    
    Cc: Zoltán Böszörményi <[email protected]>
    Signed-off-by: Guenter Roeck <[email protected]>
    Signed-off-by: Wim Van Sebroeck <[email protected]>
---
 drivers/watchdog/sp5100_tco.c | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/drivers/watchdog/sp5100_tco.c b/drivers/watchdog/sp5100_tco.c
index 11109ac959e2..0e816f2cdb07 100644
--- a/drivers/watchdog/sp5100_tco.c
+++ b/drivers/watchdog/sp5100_tco.c
@@ -345,12 +345,13 @@ static u8 sp5100_tco_read_pm_reg32(u8 index)
 /*
  * Init & exit routines
  */
-static unsigned char sp5100_tco_setupdevice(void)
+static int sp5100_tco_setupdevice(void)
 {
 	struct pci_dev *dev = NULL;
 	const char *dev_name = NULL;
 	u32 val;
 	u8 base_addr;
+	int ret;
 
 	/* Match the PCI device */
 	for_each_pci_dev(dev) {
@@ -361,7 +362,7 @@ static unsigned char sp5100_tco_setupdevice(void)
 	}
 
 	if (!sp5100_tco_pci)
-		return 0;
+		return -ENODEV;
 
 	pr_info("PCI Vendor ID: 0x%x, Device ID: 0x%x, Revision ID: 0x%x\n",
 		sp5100_tco_pci->vendor, sp5100_tco_pci->device,
@@ -383,7 +384,7 @@ static unsigned char sp5100_tco_setupdevice(void)
 				  SP5100_PM_IOPORTS_SIZE, dev_name)) {
 		pr_err("I/O address 0x%04x already in use\n",
 		       SP5100_IO_PM_INDEX_REG);
-		goto exit;
+		return -EBUSY;
 	}
 
 	/*
@@ -433,6 +434,7 @@ static unsigned char sp5100_tco_setupdevice(void)
 		pr_debug("SBResource_MMIO is disabled(0x%04x)\n", val);
 
 	pr_notice("failed to find MMIO address, giving up.\n");
+	ret = -ENODEV;
 	goto  unreg_region;
 
 setup_wdt:
@@ -441,6 +443,7 @@ setup_wdt:
 	tcobase = ioremap(val, SP5100_WDT_MEM_MAP_SIZE);
 	if (!tcobase) {
 		pr_err("failed to get tcobase address\n");
+		ret = -ENOMEM;
 		goto unreg_mem_region;
 	}
 
@@ -470,14 +473,13 @@ setup_wdt:
 
 	release_region(SP5100_IO_PM_INDEX_REG, SP5100_PM_IOPORTS_SIZE);
 	/* Done */
-	return 1;
+	return 0;
 
 unreg_mem_region:
 	release_mem_region(tcobase_phys, SP5100_WDT_MEM_MAP_SIZE);
 unreg_region:
 	release_region(SP5100_IO_PM_INDEX_REG, SP5100_PM_IOPORTS_SIZE);
-exit:
-	return 0;
+	return ret;
 }
 
 static int sp5100_tco_init(struct platform_device *dev)
@@ -488,8 +490,9 @@ static int sp5100_tco_init(struct platform_device *dev)
 	 * Check whether or not the hardware watchdog is there. If found, then
 	 * set it up.
 	 */
-	if (!sp5100_tco_setupdevice())
-		return -ENODEV;
+	ret = sp5100_tco_setupdevice();
+	if (ret)
+		return ret;
 
 	/* Check to see if last reboot was due to watchdog timeout */
 	pr_info("Last reboot was %striggered by watchdog.\n",
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.