From patchwork Mon Jul 13 14:43:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrzej Hajda X-Patchwork-Id: 11659977 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E1E35722 for ; Mon, 13 Jul 2020 14:45:20 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id BA40C2072D for ; Mon, 13 Jul 2020 14:45:20 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="W9l9HDJu"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="Khv7GQHx" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BA40C2072D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=samsung.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=rqXuyyAj9olmZTvLwJYNIDmKqtHK3eg7hFXV6gVdAAU=; b=W9l9HDJuDRnniafkcvoTRtWjeM 8Dafx8z+TxpgvK4rv2H7sijnS+0pE5VTGInVw/kDofMPXralg8qNBfoIuiG+rhatFjrOnP6GkZp0l +Cc257L2ero8pdBIJlE66xM/b/LF4MTME8Zc+ZjZEsMfxLN0qREkrN/QIrkKWAPZzAfVBTUCP3wie jXt4b5Ow/TMXI5nnc3we44La8YWBKAaf6aKeKuIvXmwB26G4sjclSK3ieCP+YLzxHM2QH1Uyzw0/4 I8di8W9i7aBqFgp/KOAynwCpSmFFjsx3aXWUcbOU2DgHj3zzaG0iJJohHYYbW16l62hAhi/NJyX+Y 2oyXbNKQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1juzgC-0005BP-QT; Mon, 13 Jul 2020 14:43:40 +0000 Received: from mailout2.w1.samsung.com ([210.118.77.12]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1juzg6-000585-I2 for linux-arm-kernel@lists.infradead.org; Mon, 13 Jul 2020 14:43:36 +0000 Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20200713144332euoutp0285d5ca75c76857d3c21e1514af2cfe8e~hVwLMoYhS2796527965euoutp02E for ; Mon, 13 Jul 2020 14:43:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20200713144332euoutp0285d5ca75c76857d3c21e1514af2cfe8e~hVwLMoYhS2796527965euoutp02E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1594651412; bh=l2lxSqoqhRbb4X9ynL2i6rkNRlCJlfLxzfEp8Lhp6UE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Khv7GQHxGcl1oNaYb80IKm+Iq2S9vWfliopuPMKNnkTCdyxa+MMzxIeUrv0Hz4O23 ohUn88mudgrw1inCZ6nY5iot35nZOtPZo6YnYkxRcKmbn2GWOInb6egNNAqhbLQz/S JL3DaRKTvZ2XIYR9gTPqaT+NEDvZ9uCUGbvTR+lU= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20200713144332eucas1p10094fde0732d18b7b6d4037c81020c76~hVwKyo-Hy1041510415eucas1p1v; Mon, 13 Jul 2020 14:43:32 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id F4.22.05997.4137C0F5; Mon, 13 Jul 2020 15:43:32 +0100 (BST) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20200713144331eucas1p24107a30783dacc92887b80cf082be9fb~hVwKWZbq20910209102eucas1p2k; Mon, 13 Jul 2020 14:43:31 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20200713144331eusmtrp21fa81494749fc5dfc3a964686afaec07~hVwKVj3bD1147711477eusmtrp2w; Mon, 13 Jul 2020 14:43:31 +0000 (GMT) X-AuditID: cbfec7f4-65dff7000000176d-11-5f0c7314b2b1 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id 05.2A.06314.3137C0F5; Mon, 13 Jul 2020 15:43:31 +0100 (BST) Received: from AMDC3748.digital.local (unknown [106.120.51.74]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20200713144330eusmtip1ebe4f1fbd587ac6c7a4eaf92371da882~hVwJpKMJY1706817068eusmtip1Y; Mon, 13 Jul 2020 14:43:30 +0000 (GMT) From: Andrzej Hajda To: Greg Kroah-Hartman Subject: [PATCH v9 1/4] driver core: add device probe log helper Date: Mon, 13 Jul 2020 16:43:21 +0200 Message-Id: <20200713144324.23654-2-a.hajda@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200713144324.23654-1-a.hajda@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WSe0hTURzHObuP3S0nt7nypJU0CHqQlgadHtSKgksQFmFFUbryqpmbsesj CzKs5iPzkWm6Hmqp6axm85UTH6zwkW2kpqj5yJLALLTUrGGZ8yr99/19f5/f63AoTGohXKiz 6jBWo1aGyEkxXtHw27pBxjn4bjQVEajnmZVAwykvAXqeaSBQ+uAQiWYqUjH0bnKURFcfGUjU MTWMoeavHTiKT80TIuOnTgK1m+6RyJxeA9DTV31CZE46ge5PpGMKmmnvbMWY0a7rQqbmZw7O VOn6hMzduCyCMerjSaYppU3A1N1/ImQGbjQKmNK8aCapTA+Y+ptpODNuXHlQcly8w58NORvB ajx2+omD6gxxgvOmpRemc2rxK6BamgAoCtKbYfddRQIQU1K6EEBr0hjggwkAc43fST4YBzDf nI8nANFcRVvbZ4JPPAbQ+GaBmi0Zqikn7BRJr4V/SrtJu5bRXjDZohPaIYy24bAjVjsHOdEK WBL7bg7C6dUwdaoYs2sJjeAHs25+nBssLqnH7MuK6K0wO+movQ+kvwnhg+qPQp7ZC9umWwW8 doJfGsvm/eVwpip73o+GA4XXML44DsDykiqMT2yHvVYbaR+AzW5tMHnw9m4Y2zyC84/kCLu+ Lbbb2Ky8VXEH420JjNNKeXoVHLCUzzd0hvlvJ0leM7DgdebcJVI6EcCGmegU4Kb7PysHAD1w ZsM5VSDLearZSHdOqeLC1YHuZ0JVRjD7yVr+Nk68AKbp02ZAU0DuIIHeDr5SQhnBRanMAFKY XCbZY2k5JZX4K6MusppQX014CMuZgSuFy50lXg+HT0rpQGUYe45lz7OahayAErlcAWV0kDXK p7lojWjwlM8vKvdIb2Vk0VP5kgBlQViAQi/rF/uNypYomoqD98bLI/AYT1I7Ol4Ymda/pceW MWRxFSdmOdUeOlD6I/Cky3vH0NsDhhWyzku9+WmX91cme7U4TTzxWO+9zFubmbGo6rZfj9g0 Fvw9Zuywbdsun33o2OUROc4FKTetwzSc8h9uQOSkYAMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrPIsWRmVeSWpSXmKPExsVy+t/xu7rCxTzxBvNXq1jcWneO1eLlhMOM FhtnrGe1mPrwCZvF/20TmS2ufH3PZtG8eD2bxdXvL5ktTr65ymLROXEJu8Wmx9dYLS7vmsNm cWjqXkaLtUfuslsc6ou2mPtlKrODgMflaxeZPd7faGX32PttAYvHzll32T1md8xk9di0qpPN 48SES0we++euYfe4332cyWPzknqPvi2rGD0O9E5m8fi8SS6AN0rPpii/tCRVISO/uMRWKdrQ wkjP0NJCz8jEUs/Q2DzWyshUSd/OJiU1J7MstUjfLkEvY//6DqaCXWIVfxbsY2lg3C3UxcjJ ISFgInHp0jPWLkYuDiGBpYwSHw5dZYNIiEvsnv+WGcIWlvhzrYsNougTo8Tsk2vYQRJsApoS fzffBGsQETCW6D87ix2kiFmgjVVi7vknYEXCAg4SG9qvgBWxCKhKTPy+Gmwqr4CFxINDs1gg NshLrN5wACjOwcEpYCkxvy8cxBQCKjnx1nMCI98CRoZVjCKppcW56bnFhnrFibnFpXnpesn5 uZsYgZG17djPzTsYL20MPsQowMGoxMMr4c8TL8SaWFZcmXuIUYKDWUmE1+ns6Tgh3pTEyqrU ovz4otKc1OJDjKZAJ01klhJNzgdGfV5JvKGpobmFpaG5sbmxmYWSOG+HwMEYIYH0xJLU7NTU gtQimD4mDk6pBsbMW6GftLkONjmathxTS4ual39tg77Gnefl9ZX7bDiZbvifebZ45f/So54J K+6uS/l4KOLq34WCRcvKZ31IXmCWXbVPrtdB77vH7Hiri95ua492tO4WbFhw9ZTtdxnHhJV9 Bz8eX7ZoBtvvs9M6Pn5NC2ta+i2pLYvV4lvj3Td/vxw9PV1ovr2iEktxRqKhFnNRcSIAvpDW 98ICAAA= X-CMS-MailID: 20200713144331eucas1p24107a30783dacc92887b80cf082be9fb X-Msg-Generator: CA X-RootMTR: 20200713144331eucas1p24107a30783dacc92887b80cf082be9fb X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200713144331eucas1p24107a30783dacc92887b80cf082be9fb References: <20200713144324.23654-1-a.hajda@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200713_104334_847028_02FEABA5 X-CRM114-Status: GOOD ( 19.51 ) X-Spam-Score: -5.2 (-----) X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary: Content analysis details: (-5.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -5.0 RCVD_IN_DNSWL_HI RBL: Sender listed at https://www.dnswl.org/, high trust [210.118.77.12 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [210.118.77.12 listed in wl.mailspike.net] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.0 RCVD_IN_MSPIKE_WL Mailspike good senders -0.0 DKIMWL_WL_HIGH DKIMwl.org - Whitelisted High sender X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jernej Skrabec , "Rafael J. Wysocki" , Jonas Karlman , Bartlomiej Zolnierkiewicz , linux-kernel@vger.kernel.org, "open list:DRM DRIVERS" , Russell King - ARM Linux , Neil Armstrong , Andrzej Hajda , andy.shevchenko@gmail.com, Mark Brown , Laurent Pinchart , Daniel Vetter , linux-arm-kernel@lists.infradead.org, Marek Szyprowski MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org During probe every time driver gets resource it should usually check for error printk some message if it is not -EPROBE_DEFER and return the error. This pattern is simple but requires adding few lines after any resource acquisition code, as a result it is often omitted or implemented only partially. dev_err_probe helps to replace such code sequences with simple call, so code: if (err != -EPROBE_DEFER) dev_err(dev, ...); return err; becomes: return dev_err_probe(dev, err, ...); Signed-off-by: Andrzej Hajda Reviewed-by: Rafael J. Wysocki Reviewed-by: Mark Brown Reviewed-by: Andy Shevchenko --- drivers/base/core.c | 42 ++++++++++++++++++++++++++++++++++++++++++ include/linux/device.h | 3 +++ 2 files changed, 45 insertions(+) diff --git a/drivers/base/core.c b/drivers/base/core.c index 67d39a90b45c..3a827c82933f 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -3953,6 +3953,48 @@ define_dev_printk_level(_dev_info, KERN_INFO); #endif +/** + * dev_err_probe - probe error check and log helper + * @dev: the pointer to the struct device + * @err: error value to test + * @fmt: printf-style format string + * @...: arguments as specified in the format string + * + * This helper implements common pattern present in probe functions for error + * checking: print debug or error message depending if the error value is + * -EPROBE_DEFER and propagate error upwards. + * It replaces code sequence: + * if (err != -EPROBE_DEFER) + * dev_err(dev, ...); + * else + * dev_dbg(dev, ...); + * return err; + * with + * return dev_err_probe(dev, err, ...); + * + * Returns @err. + * + */ +int dev_err_probe(const struct device *dev, int err, const char *fmt, ...) +{ + struct va_format vaf; + va_list args; + + va_start(args, fmt); + vaf.fmt = fmt; + vaf.va = &args; + + if (err != -EPROBE_DEFER) + dev_err(dev, "error %d: %pV", err, &vaf); + else + dev_dbg(dev, "error %d: %pV", err, &vaf); + + va_end(args); + + return err; +} +EXPORT_SYMBOL_GPL(dev_err_probe); + static inline bool fwnode_is_primary(struct fwnode_handle *fwnode) { return fwnode && !IS_ERR(fwnode->secondary); diff --git a/include/linux/device.h b/include/linux/device.h index 15460a5ac024..6b2272ae9af8 100644 --- a/include/linux/device.h +++ b/include/linux/device.h @@ -964,6 +964,9 @@ void device_link_remove(void *consumer, struct device *supplier); void device_links_supplier_sync_state_pause(void); void device_links_supplier_sync_state_resume(void); +extern __printf(3, 4) +int dev_err_probe(const struct device *dev, int err, const char *fmt, ...); + /* Create alias, so I can be autoloaded. */ #define MODULE_ALIAS_CHARDEV(major,minor) \ MODULE_ALIAS("char-major-" __stringify(major) "-" __stringify(minor)) From patchwork Mon Jul 13 14:43:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrzej Hajda X-Patchwork-Id: 11659983 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8360F722 for ; Mon, 13 Jul 2020 14:45:31 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4D36B20738 for ; Mon, 13 Jul 2020 14:45:31 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Us3qDhCf"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="azR3ja2J" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4D36B20738 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=samsung.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=BguUzKPmewOhf7lc9hjtoPgzM67M9L5CxvT/p3SycTE=; b=Us3qDhCfl81KR0HdRaNteVFR4B 0Xk6SaRRF7q3Mt2LpZCFce1lg0VEFJck0awMDoAlhFFB4ckw7mptPiY0RclPkvH6+AU+WSbM5bnW/ vBcM8V0+UlCo579deSFVeSjoKsR+ARiH/3nH8vyTFpg6Vu10iezmHEmD0n0fPEpMvBOkwaO+EGFoW zfZA0CTYgou9+fo0uMKjvgz6BCRGrWYRzEM6ZDcDPNfI6fdRRMr6Npy6GnF6rrFGDiJbYgqGz2n+l Lxdd+1AmYV6Tq3yS+MB3MDJ/G9Qgver7x8ZCZlc9xjVOBa1SwfZFe5WItGjS3WAD2RXCeZEjQF0ke cjL7agow==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1juzgU-0005GG-FW; Mon, 13 Jul 2020 14:43:58 +0000 Received: from mailout1.w1.samsung.com ([210.118.77.11]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1juzg7-00058S-66 for linux-arm-kernel@lists.infradead.org; Mon, 13 Jul 2020 14:43:37 +0000 Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20200713144333euoutp0147602625fad36035d28ce8b1c906879f~hVwL3_Tmv3239132391euoutp01f for ; Mon, 13 Jul 2020 14:43:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20200713144333euoutp0147602625fad36035d28ce8b1c906879f~hVwL3_Tmv3239132391euoutp01f DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1594651413; bh=xtHQpB9I0fMd3M6jsSOBpjS4km8smy714jJr/xf+IDE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=azR3ja2JhbMKcIeI23lbrvXFnnVp9reuUL5JKu99KAJ50xg6Y/CXmtWmTrEba5031 zO3t6Vz18PaDhKxc6WcS5sclMLzzm8tEDtszEp8Uk4BJc+I5P1gvqoYM76qlKjK7Dq 8VCf4kb6ZUsbBuRccVJ4ZvgbqQvvJI/AV/JtEfo4= Received: from eusmges3new.samsung.com (unknown [203.254.199.245]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20200713144333eucas1p174bdf6fb0d37fdec8b925be44ebda76d~hVwLlCfAH2096020960eucas1p1P; Mon, 13 Jul 2020 14:43:33 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges3new.samsung.com (EUCPMTA) with SMTP id D1.69.06318.4137C0F5; Mon, 13 Jul 2020 15:43:32 +0100 (BST) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20200713144332eucas1p2f46275f84ec0cca6e23dcf040234005a~hVwLBtN7V0910709107eucas1p2x; Mon, 13 Jul 2020 14:43:32 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20200713144332eusmtrp11b7548bb0ed5d6efe0c0fc6a63e01bc2~hVwLA-gIU0993509935eusmtrp1Y; Mon, 13 Jul 2020 14:43:32 +0000 (GMT) X-AuditID: cbfec7f5-38bff700000018ae-f6-5f0c7314c13d Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id B3.5A.06017.4137C0F5; Mon, 13 Jul 2020 15:43:32 +0100 (BST) Received: from AMDC3748.digital.local (unknown [106.120.51.74]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20200713144331eusmtip16ed42ebed53347d486148c2f4f09a0b6~hVwKSaHZG2060320603eusmtip1I; Mon, 13 Jul 2020 14:43:31 +0000 (GMT) From: Andrzej Hajda To: Greg Kroah-Hartman Subject: [PATCH v9 2/4] driver core: add deferring probe reason to devices_deferred property Date: Mon, 13 Jul 2020 16:43:22 +0200 Message-Id: <20200713144324.23654-3-a.hajda@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200713144324.23654-1-a.hajda@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0VSaUhUURjlzlsVx16j4a1caigiKU0UumGrFbwfQRItULg886WSYzZP2yg0 KhuXbEyktCQxLcclzWXaS6fMZHLJLRWnobJkxNFMLbPS5vWs/p17lu98fFwaUxiJBXRUTByv juGilaQ9rn/xvWWls+AQsipbuwb13m4mkEX7DKA7V8oJlPWun0Qz+gwMdUyMkOjMjXISdX6z YKhxqBNHyRkFFKr80EWg9gfXSGTIegxQ2XMThQzp+1DueBa2kWHbu15j7Ej3OYp9/DUPZ+/n mCj2qiabYCuLk0n2pbZNxj7NLaVYc2qDjK0qSGDTq4sBW3shE2fHKt0D5Xvt14bz0VFHeLX3 +lD7yPEPw7JY65Jjby8mYongo3sKoGnI+MGUUpAC7GkFUwTgYEk2ngLsbI9xAG/WbZCEMQAr EtuAKIiBwYFeUhJu2YS6YvJfIjXDU8Qksxz+qur5wzszvvBiUw4lBjBmCoed55MIsdqJCYbW oa2iB2eWwsmZs5iI5QyCeRYzKZV5wJKKWky02zFr4PX0PeIYyFgoWNt6WyZ5tsDTLfpZ7AQH G6opCbtCY2YaLuEEaC4S54thDYA1FfcxSfCHfc1TpFiA2ZYuf+At0ZtgflEjJV3IEXZb54o0 ZoOX9JcxiZZDTZJCci+G5qaa2YEusLB1YnZ7Fuqq6gnpVGkANv/oI7TAI+d/WR4AxcCFjxdU EbzgG8Mf9RI4lRAfE+G1/5CqEti+mHG6YeIeePIzzAAYGigd5HC7Q4iC4I4Ix1UGAGlM6SwP aDIGK+Th3PETvPpQiDo+mhcMYCGNK13kvvmWIAUTwcXxB3k+llf/VWW03YJE8LA7STX8aN5Q 4IDG/f1Li9/n7MOfZB2M62rd5rFT+v5Rn23C0fyTl9V1OtP8TrPb3aUlDbvcyrS10aZC84Hp OV2TgaaZgPAv8aE7l7X568L6m1uuhHnB0tZFnF2y37t1cQfo9vr9ad92rwjihmN18jeZmwd7 wotevxrd4fjCy1qyQokLkZyPJ6YWuN/RQPDBXgMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrPIsWRmVeSWpSXmKPExsVy+t/xu7oixTzxBlcuC1rcWneO1eLlhMOM FhtnrGe1mPrwCZvF/20TmS2ufH3PZtG8eD2bxdXvL5ktTr65ymLROXEJu8Wmx9dYLS7vmsNm cWjqXkaLtUfuslsc6ou2mPtlKrODgMflaxeZPd7faGX32PttAYvHzll32T1md8xk9di0qpPN 48SES0we++euYfe4332cyWPzknqPvi2rGD0O9E5m8fi8SS6AN0rPpii/tCRVISO/uMRWKdrQ wkjP0NJCz8jEUs/Q2DzWyshUSd/OJiU1J7MstUjfLkEv48vjd0wFb1Uq7vU3MDcwPpXrYuTk kBAwkXj1/BZbFyMXh5DAUkaJNSt2MkIkxCV2z3/LDGELS/y51gVV9IlRYuLbKWAJNgFNib+b b7KB2CICxhL9Z2exgxQxC7SxSsw9/4QdJCEsECOx7fZcsAYWAVWJH/9bwGxeAQuJBS/vs0Fs kJdYveEAUJyDg1PAUmJ+XziIKQRUcuKt5wRGvgWMDKsYRVJLi3PTc4uN9IoTc4tL89L1kvNz NzECI2vbsZ9bdjB2vQs+xCjAwajEwyvhzxMvxJpYVlyZe4hRgoNZSYTX6ezpOCHelMTKqtSi /Pii0pzU4kOMpkAnTWSWEk3OB0Z9Xkm8oamhuYWlobmxubGZhZI4b4fAwRghgfTEktTs1NSC 1CKYPiYOTqkGRjNXGR6Hv2ntR96GzJjH9SPM0DfVMXaXpptlzN2XskEhS/7kf7Kb0PLzWt73 /Ki5ytpPnZjNi6c7q27Z5rDBU+33fYEO9/qbXNnitqtb0mR7y/efcWfZuTv6pP2TIzYpD6KO PeT6ZLn3yfmZgf/jFE5vX11adYpBeP38G0ar4htc901KPfL7vRJLcUaioRZzUXEiAMgL3KLC AgAA X-CMS-MailID: 20200713144332eucas1p2f46275f84ec0cca6e23dcf040234005a X-Msg-Generator: CA X-RootMTR: 20200713144332eucas1p2f46275f84ec0cca6e23dcf040234005a X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200713144332eucas1p2f46275f84ec0cca6e23dcf040234005a References: <20200713144324.23654-1-a.hajda@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200713_104335_385431_88049A6A X-CRM114-Status: GOOD ( 23.17 ) X-Spam-Score: -5.2 (-----) X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary: Content analysis details: (-5.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -5.0 RCVD_IN_DNSWL_HI RBL: Sender listed at https://www.dnswl.org/, high trust [210.118.77.11 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [210.118.77.11 listed in wl.mailspike.net] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.0 RCVD_IN_MSPIKE_WL Mailspike good senders -0.0 DKIMWL_WL_HIGH DKIMwl.org - Whitelisted High sender X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jernej Skrabec , "Rafael J. Wysocki" , Jonas Karlman , Bartlomiej Zolnierkiewicz , linux-kernel@vger.kernel.org, "open list:DRM DRIVERS" , Russell King - ARM Linux , Neil Armstrong , Andrzej Hajda , andy.shevchenko@gmail.com, Mark Brown , Laurent Pinchart , Daniel Vetter , linux-arm-kernel@lists.infradead.org, Marek Szyprowski MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org /sys/kernel/debug/devices_deferred property contains list of deferred devices. This list does not contain reason why the driver deferred probe, the patch improves it. The natural place to set the reason is dev_err_probe function introduced recently, ie. if dev_err_probe will be called with -EPROBE_DEFER instead of printk the message will be attached to a deferred device and printed when user reads devices_deferred property. Signed-off-by: Andrzej Hajda Reviewed-by: Mark Brown Reviewed-by: Javier Martinez Canillas Reviewed-by: Andy Shevchenko Reviewed-by: Rafael J. Wysocki --- v9: - fixed typo in function name v8: - improved commit message --- drivers/base/base.h | 3 +++ drivers/base/core.c | 8 ++++++-- drivers/base/dd.c | 23 ++++++++++++++++++++++- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/drivers/base/base.h b/drivers/base/base.h index 95c22c0f9036..c3562adf4789 100644 --- a/drivers/base/base.h +++ b/drivers/base/base.h @@ -93,6 +93,7 @@ struct device_private { struct klist_node knode_class; struct list_head deferred_probe; struct device_driver *async_driver; + char *deferred_probe_reason; struct device *device; u8 dead:1; }; @@ -134,6 +135,8 @@ extern void device_release_driver_internal(struct device *dev, extern void driver_detach(struct device_driver *drv); extern int driver_probe_device(struct device_driver *drv, struct device *dev); extern void driver_deferred_probe_del(struct device *dev); +extern void device_set_deferred_probe_reason(const struct device *dev, + struct va_format *vaf); static inline int driver_match_device(struct device_driver *drv, struct device *dev) { diff --git a/drivers/base/core.c b/drivers/base/core.c index 3a827c82933f..d04d19458795 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -3963,6 +3963,8 @@ define_dev_printk_level(_dev_info, KERN_INFO); * This helper implements common pattern present in probe functions for error * checking: print debug or error message depending if the error value is * -EPROBE_DEFER and propagate error upwards. + * In case of -EPROBE_DEFER it sets also defer probe reason, which can be + * checked later by reading devices_deferred debugfs attribute. * It replaces code sequence: * if (err != -EPROBE_DEFER) * dev_err(dev, ...); @@ -3984,10 +3986,12 @@ int dev_err_probe(const struct device *dev, int err, const char *fmt, ...) vaf.fmt = fmt; vaf.va = &args; - if (err != -EPROBE_DEFER) + if (err != -EPROBE_DEFER) { dev_err(dev, "error %d: %pV", err, &vaf); - else + } else { + device_set_deferred_probe_reason(dev, &vaf); dev_dbg(dev, "error %d: %pV", err, &vaf); + } va_end(args); diff --git a/drivers/base/dd.c b/drivers/base/dd.c index 9a1d940342ac..7555b31bdfdc 100644 --- a/drivers/base/dd.c +++ b/drivers/base/dd.c @@ -27,6 +27,7 @@ #include #include #include +#include #include "base.h" #include "power/power.h" @@ -136,6 +137,8 @@ void driver_deferred_probe_del(struct device *dev) if (!list_empty(&dev->p->deferred_probe)) { dev_dbg(dev, "Removed from deferred list\n"); list_del_init(&dev->p->deferred_probe); + kfree(dev->p->deferred_probe_reason); + dev->p->deferred_probe_reason = NULL; } mutex_unlock(&deferred_probe_mutex); } @@ -211,6 +214,23 @@ void device_unblock_probing(void) driver_deferred_probe_trigger(); } +/** + * device_set_deferred_probe_reason() - Set defer probe reason message for device + * @dev: the pointer to the struct device + * @vaf: the pointer to va_format structure with message + */ +void device_set_deferred_probe_reason(const struct device *dev, struct va_format *vaf) +{ + const char *drv = dev_driver_string(dev); + + mutex_lock(&deferred_probe_mutex); + + kfree(dev->p->deferred_probe_reason); + dev->p->deferred_probe_reason = kasprintf(GFP_KERNEL, "%s: %pV", drv, vaf); + + mutex_unlock(&deferred_probe_mutex); +} + /* * deferred_devs_show() - Show the devices in the deferred probe pending list. */ @@ -221,7 +241,8 @@ static int deferred_devs_show(struct seq_file *s, void *data) mutex_lock(&deferred_probe_mutex); list_for_each_entry(curr, &deferred_probe_pending_list, deferred_probe) - seq_printf(s, "%s\n", dev_name(curr->device)); + seq_printf(s, "%s\t%s", dev_name(curr->device), + curr->device->p->deferred_probe_reason ?: "\n"); mutex_unlock(&deferred_probe_mutex); From patchwork Mon Jul 13 14:43:23 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrzej Hajda X-Patchwork-Id: 11659979 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 60FD5138C for ; Mon, 13 Jul 2020 14:45:26 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 37F9E20738 for ; Mon, 13 Jul 2020 14:45:26 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Yo06PoeZ"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="UvmIywVy" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 37F9E20738 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=samsung.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=AYxE18rNGP+HENsxmLcINBn8WrFwLk3oYS2SMA3gXWA=; b=Yo06PoeZEPPtB6I/+U5UV59asV pSA0Y+d+yYLQ9BaUR8Ay5ORXx/1Ecze54UcQG7GaJrwRS0hnT6wdJwbQicMxqTQZV4lAOEeQ107iB krj2HuirQ+5zGshzm14x/oWr9lKQqlQP5winvkZRCG0LwircqcWjZ/DEa/CmQ7j0BeR11YVyopEXi 9TLuVsepq1D4ouAoqTphxiyC+VM6ksURypBERUMlOOx8XXtt8gv//fqwbFdDWZsovkKdnArCy8WYZ CZaJmDrmzi9idrYEVHyvm1/zz0twZQ+beGRM88pB+nIwwD3T1RXK4G0TX55jEGphdyTne86dJ1cKi pGQv+8yw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1juzgM-0005E9-Dj; Mon, 13 Jul 2020 14:43:51 +0000 Received: from mailout1.w1.samsung.com ([210.118.77.11]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1juzg7-00058U-66 for linux-arm-kernel@lists.infradead.org; Mon, 13 Jul 2020 14:43:37 +0000 Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20200713144333euoutp0173183a427238e0dd16d91b92172f7a30~hVwMYOJmF3242832428euoutp01i for ; Mon, 13 Jul 2020 14:43:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20200713144333euoutp0173183a427238e0dd16d91b92172f7a30~hVwMYOJmF3242832428euoutp01i DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1594651413; bh=ldZknbF9TPUSQxdpO3ouuzcL7PaF+JDqisngEE3mM30=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UvmIywVy7PH0VtWUpGVHrrsKV0jPUT2V7MtpgEDbsSwYg/m4EzvQtWNmUx1/7z20U A3rCcHoacTOJWZJhMzU5YZEVcAnwrDK+/GEXKfRoP6IKdu0gsdD/+XuHK/GCaLfgSd 8iscvrxs39vD0uNs12ExMvq1jgcFMhcCQKcwPRps= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20200713144333eucas1p2554697096c3ff0d9fa576d0bf15c4fb6~hVwMAqfWU0720407204eucas1p2v; Mon, 13 Jul 2020 14:43:33 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id 1D.E5.06456.5137C0F5; Mon, 13 Jul 2020 15:43:33 +0100 (BST) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20200713144333eucas1p127c600faa8a7416d89f0d84681c73ab9~hVwLrh6O21041510415eucas1p1x; Mon, 13 Jul 2020 14:43:33 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20200713144333eusmtrp1ebd47862f33d49c25a5e985aa2fd0160~hVwLqzCMj0993509935eusmtrp1Z; Mon, 13 Jul 2020 14:43:33 +0000 (GMT) X-AuditID: cbfec7f2-809ff70000001938-b7-5f0c7315974e Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 45.5A.06017.4137C0F5; Mon, 13 Jul 2020 15:43:32 +0100 (BST) Received: from AMDC3748.digital.local (unknown [106.120.51.74]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20200713144332eusmtip17eed23fae87263527c6711746e549ad4~hVwK82OmS2060420604eusmtip1I; Mon, 13 Jul 2020 14:43:32 +0000 (GMT) From: Andrzej Hajda To: Greg Kroah-Hartman Subject: [PATCH v9 3/4] drm/bridge/sii8620: fix resource acquisition error handling Date: Mon, 13 Jul 2020 16:43:23 +0200 Message-Id: <20200713144324.23654-4-a.hajda@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200713144324.23654-1-a.hajda@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0VSaUhUURjtzlsdnLxNll+2SANRRmlRP277QtHDgjYkyMpe+TJJJ5uXLQYW raOVaSbV2IYaU6Omjgs5JNlUOjU45tZmJqE/mhZs07Aom9fT+ne+853vnMPl8pTewwTzccbd kskoxhtYLV1Z29cwdYTsHz3tZQuQl7c8DPFm3Eek9EIxQ7LfdLGkvzKTIi093Sw5klfMktbv Xoo8+tBKk9TMfI7YO58ypNlxiSXO7GpEih60c8SZHkUuf8umFmKh+WkjJXQ/P8YJ1b3XaKHK 0s4JOeaLjGC3pbKCK6NJI9y9XMgJHSfrNEJZ/kEhvdyGhJrTWbTw1T5ulW69dm6MFB+3RzKF z9+s3W6rrdUk5gXss5TWaQ4hl38a8uMBzwRP1REqDWl5Pb6BwPrQrVGHbwhuNpQy6vAVQX5a IRo8MT+zDaisCNq8VubfSU35F1pRsTgUfpW9YBUciGfAmXoLp4go/IOG1hPHGWUxHEeC1dX+ 15bGE6C72UEpWIcJfGjtp9W4ECgoqfHxPO+HZ8HV9HWKD2AvB1lFLQOVlkClw8qoeDi8qyvn VDwG3FmnBnwOQseNo5R6bEZQUVJFqYs58Mrzg1UCKF/rYke4Si+CipxuWqEBD4XnH4cpNOWD ZyvPUyqtA/NxvaoeDx31FQOGQXD9SQ+rYgGOvmn720aPT/neNz8iA4VY/mddQ8iGgqQkOSFW kqcbpb1hspggJxljw7buTLAj3y9z/677chv1NG1xIswjg78OVvpH6xlxj7w/wYmApwyBusX1 7k16XYy4P1ky7Yw2JcVLshON5mlDkG5GrnejHseKu6UdkpQomQa3Gt4v+BDa1/KiMyW1rK+v I/OeJeLwz7s5s2etd73O/fzeOYVLdDdEFq6ZZ9G+DU8S8YKwmF+BDXErgj2xoWOru0aWu5Pj bmsdnviVrx6nBCRfKcCjT09avnRp8AaHLav/gOtiY1uxoXDbOZhqh9Xm3qhPbOSW8DtGzdYh E9f+LFgmuu+MGrfLQMvbxemTKZMs/gG5+MSHYQMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrHIsWRmVeSWpSXmKPExsVy+t/xu7qixTzxBn94LW6tO8dq8XLCYUaL jTPWs1pMffiEzeL/tonMFle+vmezaF68ns3i6veXzBYn31xlseicuITdYtPja6wWl3fNYbM4 NHUvo8XaI3fZLQ71RVvM/TKV2UHA4/K1i8we72+0snvs/baAxWPnrLvsHrM7ZrJ6bFrVyeZx YsIlJo/9c9ewe9zvPs7ksXlJvUffllWMHgd6J7N4fN4kF8AbpWdTlF9akqqQkV9cYqsUbWhh pGdoaaFnZGKpZ2hsHmtlZKqkb2eTkpqTWZZapG+XoJex6tgxpoLF/BWzNh5namA8wdPFyMkh IWAi0XF9FVMXIxeHkMBSRonp95+wQyTEJXbPf8sMYQtL/LnWxQZR9IlRYvGXhSwgCTYBTYm/ m2+ygdgiAsYS/WdnsYMUMQu0sUrMPQ8xSVggWGLXkgZGEJtFQFXi/eVdYFN5BSwk3lz9zwKx QV5i9YYDQHEODk4BS4n5feEgphBQyYm3nhMY+RYwMqxiFEktLc5Nzy020itOzC0uzUvXS87P 3cQIjKttx35u2cHY9S74EKMAB6MSD6+EP0+8EGtiWXFl7iFGCQ5mJRFep7On44R4UxIrq1KL 8uOLSnNSiw8xmgKdNJFZSjQ5HxjzeSXxhqaG5haWhubG5sZmFkrivB0CB2OEBNITS1KzU1ML Uotg+pg4OKUaGNeUqyzks5wz6/3K+z2WfZ1Vl7okLtjlOgcxzbZwShF40OF72+OJU+G1ugWy Mzst27793ij1aGWUZaBLIQtH+Qw5Vq34e5O/1vgwyv283eoy0fXd7g7+0GMrohnm/C3eP3fa 0kDp9DNW/EU7599blSmguFpss4T+3Nr3LZUNkn7vPLdZnxA/rsRSnJFoqMVcVJwIAJkG1LzB AgAA X-CMS-MailID: 20200713144333eucas1p127c600faa8a7416d89f0d84681c73ab9 X-Msg-Generator: CA X-RootMTR: 20200713144333eucas1p127c600faa8a7416d89f0d84681c73ab9 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200713144333eucas1p127c600faa8a7416d89f0d84681c73ab9 References: <20200713144324.23654-1-a.hajda@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200713_104335_347540_9D30F286 X-CRM114-Status: GOOD ( 15.34 ) X-Spam-Score: -5.2 (-----) X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary: Content analysis details: (-5.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -5.0 RCVD_IN_DNSWL_HI RBL: Sender listed at https://www.dnswl.org/, high trust [210.118.77.11 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [210.118.77.11 listed in wl.mailspike.net] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.0 RCVD_IN_MSPIKE_WL Mailspike good senders -0.0 DKIMWL_WL_HIGH DKIMwl.org - Whitelisted High sender X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jernej Skrabec , "Rafael J. Wysocki" , Jonas Karlman , Bartlomiej Zolnierkiewicz , linux-kernel@vger.kernel.org, "open list:DRM DRIVERS" , Russell King - ARM Linux , Neil Armstrong , Andrzej Hajda , andy.shevchenko@gmail.com, Mark Brown , Laurent Pinchart , Daniel Vetter , linux-arm-kernel@lists.infradead.org, Marek Szyprowski MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org In case of error during resource acquisition driver should print error message only in case it is not deferred probe, using dev_err_probe helper solves the issue. Moreover it records defer probe reason for debugging. Signed-off-by: Andrzej Hajda Reviewed-by: Neil Armstrong --- drivers/gpu/drm/bridge/sil-sii8620.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/bridge/sil-sii8620.c b/drivers/gpu/drm/bridge/sil-sii8620.c index 92acd336aa89..389c1f029774 100644 --- a/drivers/gpu/drm/bridge/sil-sii8620.c +++ b/drivers/gpu/drm/bridge/sil-sii8620.c @@ -2299,10 +2299,9 @@ static int sii8620_probe(struct i2c_client *client, INIT_LIST_HEAD(&ctx->mt_queue); ctx->clk_xtal = devm_clk_get(dev, "xtal"); - if (IS_ERR(ctx->clk_xtal)) { - dev_err(dev, "failed to get xtal clock from DT\n"); - return PTR_ERR(ctx->clk_xtal); - } + if (IS_ERR(ctx->clk_xtal)) + return dev_err_probe(dev, PTR_ERR(ctx->clk_xtal), + "failed to get xtal clock from DT\n"); if (!client->irq) { dev_err(dev, "no irq provided\n"); @@ -2313,16 +2312,14 @@ static int sii8620_probe(struct i2c_client *client, sii8620_irq_thread, IRQF_TRIGGER_HIGH | IRQF_ONESHOT, "sii8620", ctx); - if (ret < 0) { - dev_err(dev, "failed to install IRQ handler\n"); - return ret; - } + if (ret < 0) + return dev_err_probe(dev, ret, + "failed to install IRQ handler\n"); ctx->gpio_reset = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH); - if (IS_ERR(ctx->gpio_reset)) { - dev_err(dev, "failed to get reset gpio from DT\n"); - return PTR_ERR(ctx->gpio_reset); - } + if (IS_ERR(ctx->gpio_reset)) + return dev_err_probe(dev, PTR_ERR(ctx->gpio_reset), + "failed to get reset gpio from DT\n"); ctx->supplies[0].supply = "cvcc10"; ctx->supplies[1].supply = "iovcc18"; From patchwork Mon Jul 13 14:43:24 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrzej Hajda X-Patchwork-Id: 11659981 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id CB30813B4 for ; Mon, 13 Jul 2020 14:45:26 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A39D920738 for ; Mon, 13 Jul 2020 14:45:26 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="ud3MFPGs"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="gWjASbmb" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A39D920738 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=samsung.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=juLsS2h8BC14NkEsusVz01b3LZuno4BRZm4pQzlIubo=; b=ud3MFPGsy3HBzrS+Ye3rVVJuBj G9Y9jcMREqcKFa31Qwo9rbAnLX6SUI2c6KgcUIz3+4vdY0lyJL/yF3MB/73T4QtxM6iFzgvNwbOQ+ PmcMk8jFHp0YcPqwl9T6qIU5UC483aQnvA2gwu/TYnvKg3mMFEB6SusNuntkmWqBxs+reF9TS9YUm tGbu2tWxq0mZ0OmXnpTjm6t9/fOP4OH+B0/LreSCTn2vaXVe1o5xAOFfTm2d0FM/HwH7m5xt8ssWy rEAxMB3i7B1FBHpvmrQgQqQoss+CSw/irv+sZ7MTjwUM0YZlyjP40RrqJb/eSqfI1geqHCVOTwele Nr+b6XzA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1juzgG-0005CL-T7; Mon, 13 Jul 2020 14:43:44 +0000 Received: from mailout1.w1.samsung.com ([210.118.77.11]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1juzg7-00058g-Bd for linux-arm-kernel@lists.infradead.org; Mon, 13 Jul 2020 14:43:37 +0000 Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20200713144334euoutp01f87fcc18004bb825a9174c95ea6e54a8~hVwM-6yqE3242832428euoutp01j for ; Mon, 13 Jul 2020 14:43:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20200713144334euoutp01f87fcc18004bb825a9174c95ea6e54a8~hVwM-6yqE3242832428euoutp01j DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1594651414; bh=B440VBDLdLWidVVzamEgT8cxdzc8DwUiqZOX84CTZVs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gWjASbmbzzb+8uuz9RTlTZQcDi0fhhyVDMZjKdKi8ug5c5H41YeN4+baOD8bEaITp jN6NXnKCX+xGKfkBvywaUqCug2WDiokHY/HLjkLKWMZAgZAVEqR8MWJMZIwtd/Qmu8 hjx8xis0wpMsEZjgHD71J166gg88itkA3/ihSkWw= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20200713144334eucas1p27b8c28229a62306997a8cb3666d284a2~hVwMqhWLH0713507135eucas1p2p; Mon, 13 Jul 2020 14:43:34 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id 9E.E5.06456.6137C0F5; Mon, 13 Jul 2020 15:43:34 +0100 (BST) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20200713144333eucas1p1f393b280cda5eead4e7ca0a005c8a4db~hVwMVP1Mg0193801938eucas1p1I; Mon, 13 Jul 2020 14:43:33 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20200713144333eusmtrp11e6d448603f5183dfba243d4ffaf27d4~hVwMUj-y90993409934eusmtrp1a; Mon, 13 Jul 2020 14:43:33 +0000 (GMT) X-AuditID: cbfec7f2-7efff70000001938-ba-5f0c73169e88 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 56.5A.06017.5137C0F5; Mon, 13 Jul 2020 15:43:33 +0100 (BST) Received: from AMDC3748.digital.local (unknown [106.120.51.74]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20200713144333eusmtip13cba26d8ef88fbfed56cb041248967a4~hVwLmbChd1900919009eusmtip1u; Mon, 13 Jul 2020 14:43:32 +0000 (GMT) From: Andrzej Hajda To: Greg Kroah-Hartman Subject: [PATCH v9 4/4] drm/bridge: lvds-codec: simplify error handling Date: Mon, 13 Jul 2020 16:43:24 +0200 Message-Id: <20200713144324.23654-5-a.hajda@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200713144324.23654-1-a.hajda@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WSe0gUURTGuTuzM+PiyrRKHiwyNyINzKT+uJJERdFUkIKlmJRtNVjkmuxo 5RplL3XNbEskn2TrmmbmY9estpdtsRa2Wr7QyDSKYDOTfFRr9HAaq/+++53fOd+5l8sQKqfc j9mXlMLrkjSJakpBNjvcHcGzBc/4pWMmEr+sa5djl/ERwo2F9XJc8OYdhX81nydw9+QohU9W 1FO456uLwE8/9pDYcN5MY8vbXjnuspVS2F5wD+HrjwdobM+Lw2UTBcQqluvqfUFwo32nae7e l3KSu108QHMl2UVyzlJjoLgnxk4Z96CsluYGz7TKOKv5GJfXVIO4lrP5JDdumRep3KYI38Mn 7jvI60JW7lTsLbS+liWXKQ4bv7yWZaBeJgd5MMAuhy5zkSwHKRgVW43AVO2eOUwg+G58T4uU ih1HcPxEyN+OZ19bkARVITAPmql/HaXuKlKkKDYIflj7KVH7sMvgnLOYFiGCnSKhJytTLha8 2fVQfNPxR5PsQpi6WzE9lmGULIYrQ4elNH+41tBCiLYHGwaX8mLEMcCO0FAxeZOUmLVQZCpF kvaGD61NtKTnQlt+7gxzDAarTxFSczaCGw23CamwAl61T1FiADG9dL1t5parYaq8RCbawHpB 38gs0Sam5YXmi4RkKyE7UyXRATDovDEz0Bcqn09SkubAMdxBSM+Ti8BmcsqNyL/4f1g5QjXI l08VtAm8EJrEH1oiaLRCalLCkt0HtBY0/cnafraO3UKTnbvsiGWQ2lMJEZ7xKrnmoJCmtSNg CLWPco2zbYdKuUeTpud1B+J1qYm8YEdzGFLtq1xmcm1XsQmaFH4/zyfzur9VGePhl4E2z6t8 mKEPLKpp9B7QG8LfbDJn2tbpvw0Fe230dXyKOho8XutY4RcbJ1AbDFsT/INc433D+T9icn82 pAZmvVVYIrvnL7oaZv8MZaFu7RFrkz5q4vKFdH9tdIDVkNPh8skaSo+K3hKzoe5uSP8dd93S 8Agq7aktGseu3jLr2ckF99WksFcTupjQCZrfsgv4t2ADAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrDIsWRmVeSWpSXmKPExsVy+t/xu7qixTzxBi3ftS1urTvHavFywmFG i40z1rNaTH34hM3i/7aJzBZXvr5ns2hevJ7N4ur3l8wWJ99cZbHonLiE3WLT42usFpd3zWGz ODR1L6PF2iN32S0O9UVbzP0yldlBwOPytYvMHu9vtLJ77P22gMVj56y77B6zO2ayemxa1cnm cWLCJSaP/XPXsHvc7z7O5LF5Sb1H35ZVjB4HeiezeHzeJBfAG6VnU5RfWpKqkJFfXGKrFG1o YaRnaGmhZ2RiqWdobB5rZWSqpG9nk5Kak1mWWqRvl6CXMWPzPaaCuVwVE77dY2pgvMbRxcjJ ISFgInHm+wFGEFtIYCmjxJ6WUoi4uMTu+W+ZIWxhiT/Xutggaj4xSnxeJwxiswloSvzdfBMs LiJgLNF/dhZ7FyMXB7NAG6vE3PNP2EESwgLuErO2H2MFsVkEVCV+7VkMtIyDg1fAQmLZgwqI +fISqzccYAYJcwpYSszvCwcxhYAqTrz1nMDIt4CRYRWjSGppcW56brGRXnFibnFpXrpecn7u JkZgTG079nPLDsaud8GHGAU4GJV4eCX8eeKFWBPLiitzDzFKcDArifA6nT0dJ8SbklhZlVqU H19UmpNafIjRFOiiicxSosn5wHjPK4k3NDU0t7A0NDc2NzazUBLn7RA4GCMkkJ5YkpqdmlqQ WgTTx8TBKdXAmFkYWFG89Hq5hO2Mp1vPnVk56efMrDd7482rWXR3J8ROP/p1zqnQY+v3ej1O id92TVfI4dlSzeeWErIL80I3+XvOzPj3ZJ+b8yXtJ0sOvsxmd24LdzfN+bYwbDNH3uH3usJ/ H7knNUXolx7dN2fWSr17ExdxLtefd3ThNl1+SbWfMsdvfVH5fkuJpTgj0VCLuag4EQCVaDmR vwIAAA== X-CMS-MailID: 20200713144333eucas1p1f393b280cda5eead4e7ca0a005c8a4db X-Msg-Generator: CA X-RootMTR: 20200713144333eucas1p1f393b280cda5eead4e7ca0a005c8a4db X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200713144333eucas1p1f393b280cda5eead4e7ca0a005c8a4db References: <20200713144324.23654-1-a.hajda@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200713_104335_500840_3F3CD5CB X-CRM114-Status: GOOD ( 14.55 ) X-Spam-Score: -5.2 (-----) X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary: Content analysis details: (-5.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -5.0 RCVD_IN_DNSWL_HI RBL: Sender listed at https://www.dnswl.org/, high trust [210.118.77.11 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [210.118.77.11 listed in wl.mailspike.net] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.0 RCVD_IN_MSPIKE_WL Mailspike good senders -0.0 DKIMWL_WL_HIGH DKIMwl.org - Whitelisted High sender X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jernej Skrabec , "Rafael J. Wysocki" , Jonas Karlman , Bartlomiej Zolnierkiewicz , linux-kernel@vger.kernel.org, "open list:DRM DRIVERS" , Russell King - ARM Linux , Neil Armstrong , Andrzej Hajda , andy.shevchenko@gmail.com, Mark Brown , Laurent Pinchart , Daniel Vetter , linux-arm-kernel@lists.infradead.org, Marek Szyprowski MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org Using dev_err_probe code has following advantages: - shorter code, - recorded defer probe reason for debugging, - uniform error code logging. Signed-off-by: Andrzej Hajda Reviewed-by: Neil Armstrong --- drivers/gpu/drm/bridge/lvds-codec.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/bridge/lvds-codec.c b/drivers/gpu/drm/bridge/lvds-codec.c index 24fb1befdfa2..f19d9f7a5db2 100644 --- a/drivers/gpu/drm/bridge/lvds-codec.c +++ b/drivers/gpu/drm/bridge/lvds-codec.c @@ -71,13 +71,9 @@ static int lvds_codec_probe(struct platform_device *pdev) lvds_codec->connector_type = (uintptr_t)of_device_get_match_data(dev); lvds_codec->powerdown_gpio = devm_gpiod_get_optional(dev, "powerdown", GPIOD_OUT_HIGH); - if (IS_ERR(lvds_codec->powerdown_gpio)) { - int err = PTR_ERR(lvds_codec->powerdown_gpio); - - if (err != -EPROBE_DEFER) - dev_err(dev, "powerdown GPIO failure: %d\n", err); - return err; - } + if (IS_ERR(lvds_codec->powerdown_gpio)) + return dev_err_probe(dev, PTR_ERR(lvds_codec->powerdown_gpio), + "powerdown GPIO failure\n"); /* Locate the panel DT node. */ panel_node = of_graph_get_remote_node(dev->of_node, 1, 0);