From patchwork Mon Mar 6 09:09:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= X-Patchwork-Id: 13160749 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9CCCAC6FD1C for ; Mon, 6 Mar 2023 09:09:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229746AbjCFJJw (ORCPT ); Mon, 6 Mar 2023 04:09:52 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45174 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229658AbjCFJJp (ORCPT ); Mon, 6 Mar 2023 04:09:45 -0500 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 10AEB3580 for ; Mon, 6 Mar 2023 01:09:43 -0800 (PST) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pZ6qV-0006Z1-Aj; Mon, 06 Mar 2023 10:09:27 +0100 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1pZ6qS-002D7b-5J; Mon, 06 Mar 2023 10:09:24 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pZ6qR-002coJ-DJ; Mon, 06 Mar 2023 10:09:23 +0100 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Krzysztof Kozlowski , Guenter Roeck Cc: Alim Akhtar , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, kernel@pengutronix.de, linux-kernel@vger.kernel.org, Christophe JAILLET , Wim Van Sebroeck , linux-watchdog@vger.kernel.org Subject: [PATCH 1/3] watchdog: s3c2410_wdt: Fold s3c2410_get_wdt_drv_data() into only caller Date: Mon, 6 Mar 2023 10:09:17 +0100 Message-Id: <20230306090919.2206871-2-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230306090919.2206871-1-u.kleine-koenig@pengutronix.de> References: <891023d7-9510-445e-9053-ad5c0398d350@roeck-us.net> <20230306090919.2206871-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=3200; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=lj5t3wNRO7XsqzB4cma/lRTjY8uSN/9hStGd2iSEk5E=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkBa2zmOGaDQVvRj/gbuA7yEV3QfmYNkBZ3uhry t2L2XShaWeJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZAWtswAKCRDB/BR4rcrs CYmIB/4+5Zobt6Otp1mApAi4z3QQ48GLlCPbQZ+LH6otu4XjU37ivPUZFR//S+wUML8rgJDCirM bPjEZOr9hIvHAotaj7JfGrt90tfoYsQ1AhxdJ97aeqw8JdtWuC8vVtanxF9JwDHvP9hbp4BUV5j RHdA+RhwvxAjbIyM+3h9+L54b4gPV2QOAcniiQjQT3hNY9xNooC5Au9PIYx1gumJ9SfcEouo5Am pkdn8ceEOZMZmNuJCclRILy1Em5uj12UjgzurQ0sNve4+FyYvZgExYf716Vf8GVaOMiID/1RSub pAhPMmLP1Sd4XWjoKB4sRcVtVJHD3mj+YcAJUggY4pu1PWth X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-samsung-soc@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org s3c2410_get_wdt_drv_data() is only called by s3c2410wdt_probe(), so the implementation of the former can move to the latter. scripts/bloat-o-meter reports for this change (on an ARCH=arm allmodconfig build): add/remove: 1/1 grow/shrink: 0/2 up/down: 4/-129 (-125) Signed-off-by: Uwe Kleine-König --- drivers/watchdog/s3c2410_wdt.c | 70 +++++++++++++++------------------- 1 file changed, 30 insertions(+), 40 deletions(-) diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c index 58b262ca4e88..7382bf038161 100644 --- a/drivers/watchdog/s3c2410_wdt.c +++ b/drivers/watchdog/s3c2410_wdt.c @@ -579,11 +579,27 @@ static inline unsigned int s3c2410wdt_get_bootstatus(struct s3c2410_wdt *wdt) return 0; } -static inline const struct s3c2410_wdt_variant * -s3c2410_get_wdt_drv_data(struct platform_device *pdev) +static void s3c2410wdt_wdt_disable_action(void *data) +{ + s3c2410wdt_enable(data, false); +} + +static int s3c2410wdt_probe(struct platform_device *pdev) { - const struct s3c2410_wdt_variant *variant; struct device *dev = &pdev->dev; + const struct s3c2410_wdt_variant *variant; + struct s3c2410_wdt *wdt; + unsigned int wtcon; + int wdt_irq; + int ret; + + wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); + if (!wdt) + return -ENOMEM; + + wdt->dev = dev; + spin_lock_init(&wdt->lock); + wdt->wdt_device = s3c2410_wdd; variant = of_device_get_match_data(dev); if (!variant) { @@ -597,56 +613,30 @@ s3c2410_get_wdt_drv_data(struct platform_device *pdev) if (variant == &drv_data_exynos850_cl0 || variant == &drv_data_exynosautov9_cl0) { u32 index; - int err; - err = of_property_read_u32(dev->of_node, + ret = of_property_read_u32(dev->of_node, "samsung,cluster-index", &index); - if (err) { + if (ret) { dev_err(dev, "failed to get cluster index\n"); - return NULL; + return -EINVAL; } switch (index) { case 0: - return variant; + break; case 1: - return (variant == &drv_data_exynos850_cl0) ? - &drv_data_exynos850_cl1 : - &drv_data_exynosautov9_cl1; + if (variant == &drv_data_exynos850_cl0) + variant = &drv_data_exynos850_cl1; + else + variant = &drv_data_exynosautov9_cl1; + break; default: dev_err(dev, "wrong cluster index: %u\n", index); - return NULL; + return -EINVAL; } } #endif - - return variant; -} - -static void s3c2410wdt_wdt_disable_action(void *data) -{ - s3c2410wdt_enable(data, false); -} - -static int s3c2410wdt_probe(struct platform_device *pdev) -{ - struct device *dev = &pdev->dev; - struct s3c2410_wdt *wdt; - unsigned int wtcon; - int wdt_irq; - int ret; - - wdt = devm_kzalloc(dev, sizeof(*wdt), GFP_KERNEL); - if (!wdt) - return -ENOMEM; - - wdt->dev = dev; - spin_lock_init(&wdt->lock); - wdt->wdt_device = s3c2410_wdd; - - wdt->drv_data = s3c2410_get_wdt_drv_data(pdev); - if (!wdt->drv_data) - return -EINVAL; + wdt->drv_data = variant; if (wdt->drv_data->quirks & QUIRKS_HAVE_PMUREG) { wdt->pmureg = syscon_regmap_lookup_by_phandle(dev->of_node, From patchwork Mon Mar 6 09:09:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= X-Patchwork-Id: 13160750 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7E0FBC6FD1E for ; Mon, 6 Mar 2023 09:09:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229643AbjCFJJx (ORCPT ); Mon, 6 Mar 2023 04:09:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45154 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229556AbjCFJJo (ORCPT ); Mon, 6 Mar 2023 04:09:44 -0500 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C6ACF26B7 for ; Mon, 6 Mar 2023 01:09:42 -0800 (PST) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pZ6qV-0006Z4-Aj; Mon, 06 Mar 2023 10:09:27 +0100 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1pZ6qS-002D7h-JA; Mon, 06 Mar 2023 10:09:24 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pZ6qR-002coM-Jt; Mon, 06 Mar 2023 10:09:23 +0100 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Krzysztof Kozlowski , Guenter Roeck Cc: Alim Akhtar , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, kernel@pengutronix.de, linux-kernel@vger.kernel.org, Christophe JAILLET , Wim Van Sebroeck , linux-watchdog@vger.kernel.org Subject: [PATCH 2/3] watchdog: s3c2410_wdt: Unify error logging format in probe function Date: Mon, 6 Mar 2023 10:09:18 +0100 Message-Id: <20230306090919.2206871-3-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230306090919.2206871-1-u.kleine-koenig@pengutronix.de> References: <891023d7-9510-445e-9053-ad5c0398d350@roeck-us.net> <20230306090919.2206871-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2391; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=0wy6Dy0bHuq9AT7DkIaobmqRGVHmG+KhTNYskb2dtn8=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkBa22JhVhmITJILO59i+so650I69rUMjT4609C q72jCkU8EWJATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZAWttgAKCRDB/BR4rcrs CT6CB/oCAJExWw3gqAoAPs4ZmIvkNXaaagqyh+IRMVZZ4hEGJY/VpRTigM6WcMQOLOPlnFMTG83 hPuUzTeccJl04LrUVaUuhtlLeicjaaRyPGsUCdft3UKkofojSpG5sEYU/c89kqcBH8h2Ln0yps2 ZZWLuS9YgoOuME/4z9h7XS5wXqpRITBiI+C93y7lL0KK4LDCjtvA1acBW2yD6l7aK8HdFi556bs HJ7ahmZlgA/SwTyNzibVG1KgsanPUcq5GyYtXZTSHk2Xw6x3xZNeC6tPPb0pwcujuAVcPmpSh5T JlyqZyjPl2sxq9ztB3VRRBYVafF31SVP4XXSNP503EeUC7ig X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-samsung-soc@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org In the probe function a mixture of dev_err() and dev_err_probe() is used. Align the format of the error messages when dev_err() is used to that of dev_err_probe() for consistency. Apart from consistency this also mentions the human readable error code. Signed-off-by: Uwe Kleine-König --- drivers/watchdog/s3c2410_wdt.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c index 7382bf038161..93df6ee331a0 100644 --- a/drivers/watchdog/s3c2410_wdt.c +++ b/drivers/watchdog/s3c2410_wdt.c @@ -617,7 +617,7 @@ static int s3c2410wdt_probe(struct platform_device *pdev) ret = of_property_read_u32(dev->of_node, "samsung,cluster-index", &index); if (ret) { - dev_err(dev, "failed to get cluster index\n"); + dev_err(dev, "error %pe: failed to get cluster index\n", ERR_PTR(-EINVAL)); return -EINVAL; } @@ -631,7 +631,7 @@ static int s3c2410wdt_probe(struct platform_device *pdev) variant = &drv_data_exynosautov9_cl1; break; default: - dev_err(dev, "wrong cluster index: %u\n", index); + dev_err(dev, "error %pe: wrong cluster index: %u\n", ERR_PTR(-EINVAL), index); return -EINVAL; } } @@ -642,7 +642,7 @@ static int s3c2410wdt_probe(struct platform_device *pdev) wdt->pmureg = syscon_regmap_lookup_by_phandle(dev->of_node, "samsung,syscon-phandle"); if (IS_ERR(wdt->pmureg)) { - dev_err(dev, "syscon regmap lookup failed.\n"); + dev_err(dev, "error %pe: syscon regmap lookup failed.\n", wdt->pmureg); return PTR_ERR(wdt->pmureg); } } @@ -686,7 +686,7 @@ static int s3c2410wdt_probe(struct platform_device *pdev) dev_warn(dev, "tmr_margin value out of range, default %d used\n", S3C2410_WATCHDOG_DEFAULT_TIME); } else { - dev_err(dev, "failed to use default timeout\n"); + dev_err(dev, "error: %pe: failed to use default timeout\n", ERR_PTR(ret)); return ret; } } @@ -694,7 +694,7 @@ static int s3c2410wdt_probe(struct platform_device *pdev) ret = devm_request_irq(dev, wdt_irq, s3c2410wdt_irq, 0, pdev->name, pdev); if (ret != 0) { - dev_err(dev, "failed to install irq (%d)\n", ret); + dev_err(dev, "error: %pe: failed to install irq\n", ERR_PTR(ret)); return ret; } From patchwork Mon Mar 6 09:09:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= X-Patchwork-Id: 13160748 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 96D41C6FD19 for ; Mon, 6 Mar 2023 09:09:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229863AbjCFJJv (ORCPT ); Mon, 6 Mar 2023 04:09:51 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45152 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229457AbjCFJJn (ORCPT ); Mon, 6 Mar 2023 04:09:43 -0500 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 94EEF1FD6 for ; Mon, 6 Mar 2023 01:09:42 -0800 (PST) Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pZ6qV-0006Z3-Ai; Mon, 06 Mar 2023 10:09:27 +0100 Received: from [2a0a:edc0:0:900:1d::77] (helo=ptz.office.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1pZ6qS-002D7e-Gd; Mon, 06 Mar 2023 10:09:24 +0100 Received: from ukl by ptz.office.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1pZ6qR-002coP-R6; Mon, 06 Mar 2023 10:09:23 +0100 From: =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= To: Krzysztof Kozlowski , Guenter Roeck Cc: Alim Akhtar , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, kernel@pengutronix.de, linux-kernel@vger.kernel.org, Christophe JAILLET , Wim Van Sebroeck , linux-watchdog@vger.kernel.org Subject: [PATCH 3/3] watchdog: s3c2410_wdt: Simplify using dev_err_probe() Date: Mon, 6 Mar 2023 10:09:19 +0100 Message-Id: <20230306090919.2206871-4-u.kleine-koenig@pengutronix.de> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230306090919.2206871-1-u.kleine-koenig@pengutronix.de> References: <891023d7-9510-445e-9053-ad5c0398d350@roeck-us.net> <20230306090919.2206871-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=3168; i=u.kleine-koenig@pengutronix.de; h=from:subject; bh=X99umvAVl7VrA7sYL0/YZrxlrH/9RZb/gUEAyYgz4uU=; b=owEBbQGS/pANAwAKAcH8FHityuwJAcsmYgBkBa2651XONejSdHIex1gpZ2WT2RCV+XEY+Xe+J T1AhkqiZr+JATMEAAEKAB0WIQR+cioWkBis/z50pAvB/BR4rcrsCQUCZAWtugAKCRDB/BR4rcrs CZwTCACEC/Xx8sMzeOS/919McZTmtZCMZTSQZJF8VXu/vJkfazCTqqaJ0cRrzUpgs6oemPxQVTH 3hPG3At3UPxAOGThxdkGKE0uBit4WDpMcYJ1KyGOY6pZBTrdotzHTMj/RBjVIIVM+evpCgdj6/A t5Y7awPlj1F90mJSUUGO8Tk1LfSX+QSV8gSjFDWE0i79jGJRxohsJw214MJroqnATLvgCgsddY1 R17AsqrKGE4oq6B1aXWOiUeaVoztxtoeoEfBrMsF1vW2LXcaJD44Q30ynT0EjbO6pP+CmQQSM8C IJc0ms4m1EndJ+sn5KxC4fc9TSjb7rL22lW9H5k0KtuDvYmu X-Developer-Key: i=u.kleine-koenig@pengutronix.de; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 X-SA-Exim-Connect-IP: 2a0a:edc0:0:c01:1d::a2 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-samsung-soc@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org Make use of dev_err_probe() also for error paths that don't have to handle -EPROBE_DEFER. While the code handing -EPROBE_DEFER isn't used for these error paths, it still simpler as it cares for pretty printing the error code and usually needs on line less to use as it combines message emitting and error returning. Apart from the reduction of line count, scripts/bloat-o-meter reports for this change (on an ARCH=arm allmodconfig build): add/remove: 1/1 grow/shrink: 1/2 up/down: 32/-144 (-112) Signed-off-by: Uwe Kleine-König --- drivers/watchdog/s3c2410_wdt.c | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c index 93df6ee331a0..c3b50266deab 100644 --- a/drivers/watchdog/s3c2410_wdt.c +++ b/drivers/watchdog/s3c2410_wdt.c @@ -616,10 +616,8 @@ static int s3c2410wdt_probe(struct platform_device *pdev) ret = of_property_read_u32(dev->of_node, "samsung,cluster-index", &index); - if (ret) { - dev_err(dev, "error %pe: failed to get cluster index\n", ERR_PTR(-EINVAL)); - return -EINVAL; - } + if (ret) + return dev_err_probe(dev, -EINVAL, "failed to get cluster index\n"); switch (index) { case 0: @@ -631,8 +629,7 @@ static int s3c2410wdt_probe(struct platform_device *pdev) variant = &drv_data_exynosautov9_cl1; break; default: - dev_err(dev, "error %pe: wrong cluster index: %u\n", ERR_PTR(-EINVAL), index); - return -EINVAL; + return dev_err_probe(dev, -EINVAL, "wrong cluster index: %u\n", index); } } #endif @@ -641,10 +638,8 @@ static int s3c2410wdt_probe(struct platform_device *pdev) if (wdt->drv_data->quirks & QUIRKS_HAVE_PMUREG) { wdt->pmureg = syscon_regmap_lookup_by_phandle(dev->of_node, "samsung,syscon-phandle"); - if (IS_ERR(wdt->pmureg)) { - dev_err(dev, "error %pe: syscon regmap lookup failed.\n", wdt->pmureg); - return PTR_ERR(wdt->pmureg); - } + if (IS_ERR(wdt->pmureg)) + return dev_err_probe(dev, PTR_ERR(wdt->pmureg), "syscon regmap lookup failed.\n"); } wdt_irq = platform_get_irq(pdev, 0); @@ -682,21 +677,17 @@ static int s3c2410wdt_probe(struct platform_device *pdev) if (ret) { ret = s3c2410wdt_set_heartbeat(&wdt->wdt_device, S3C2410_WATCHDOG_DEFAULT_TIME); - if (ret == 0) { + if (ret == 0) dev_warn(dev, "tmr_margin value out of range, default %d used\n", S3C2410_WATCHDOG_DEFAULT_TIME); - } else { - dev_err(dev, "error: %pe: failed to use default timeout\n", ERR_PTR(ret)); - return ret; - } + else + return dev_err_probe(dev, ret, "failed to use default timeout\n"); } ret = devm_request_irq(dev, wdt_irq, s3c2410wdt_irq, 0, pdev->name, pdev); - if (ret != 0) { - dev_err(dev, "error: %pe: failed to install irq\n", ERR_PTR(ret)); - return ret; - } + if (ret != 0) + return dev_err_probe(dev, ret, "failed to install irq\n"); watchdog_set_nowayout(&wdt->wdt_device, nowayout); watchdog_set_restart_priority(&wdt->wdt_device, 128);