Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp2194555ybi; Thu, 20 Jun 2019 10:37:50 -0700 (PDT) X-Google-Smtp-Source: APXvYqwHFK0QtFHfvGG6rm2jBND7InKbgF7xlfOo9lfYruOJ6HpsTA9DwTR1M/uttXM1ktzRP0EN X-Received: by 2002:a17:90a:24e4:: with SMTP id i91mr857660pje.9.1561052269985; Thu, 20 Jun 2019 10:37:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1561052269; cv=none; d=google.com; s=arc-20160816; b=DjYLUPbRPLtGgsWegLwd5UKSS63C3Z2baSuFElf2gR7kPdGIa3uBkLO2h3NRwIy45V F69CNk+eOC6Kr9Q6CuPPeLXI73xqHqTdq0R2Im7HtbhISrFefvjL4EbEQiAY10HKlFin LniE6h3v68zHAX2AnvceQgvnoJYJ45fzFRJvppkoc4m1KpYE665UQWniDO8bVgIxWKNR 6ukNYXS6hmMYtLq1y/oAzEK6W71UK0Q5VA6M0qATgWDB+b+Off4w6XsFhLagGtcD87tg AV9J6hZFpk0f1CJPmh1fBC4Fk2Hbn7L8Qy5jof9aC3Q3COs2PEOos+Jc2kjertEMl8N6 dHnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:mime-version:user-agent:date:message-id:cc :autocrypt:openpgp:subject:from:to:dkim-signature; bh=3tfrsIn20vNidrYnuen/siZ5j8kOtrEHNH/iWWYsd/U=; b=ekiFke/xqflY5JH9mJA1lkwOm2ZQdSA2DJRhlEa1gjU9H7hdhVeRTjFV+ybenhSApn DSHapl+oL1CbzurBNOeIQfW3VEUbPf+b9lv7zg8IK6qCywB2m9l0hhqaeZUswEKehho3 ljK2SvlehHYmzYXdFdoTLlv4EK8BzoJnBexKqLalQPyGTj5sMcT0xr8VaviR7/fut/PZ xmgzBbHMZNGW9zmkjz4YEp9SA+50xM/NjL5GK+QSqsJIDHgXce2IZPZe6JffOZNYSp7w w2eiT/BsUL7mee8dEZUz/eIPnzCqBynnu7F2noQvMrCAYWS8RDCGHJOyGojNdOTjWaxB 90kg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@web.de header.s=dbaedf251592 header.b=XutUicq+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 27si130959pgn.43.2019.06.20.10.37.34; Thu, 20 Jun 2019 10:37:49 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@web.de header.s=dbaedf251592 header.b=XutUicq+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727014AbfFTRhC (ORCPT + 99 others); Thu, 20 Jun 2019 13:37:02 -0400 Received: from mout.web.de ([212.227.15.4]:59185 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726530AbfFTRhB (ORCPT ); Thu, 20 Jun 2019 13:37:01 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1561052217; bh=6ABCqgrNckGfVod4g9nc/CDSQ2u7KfwMvXsjxDVsW30=; h=X-UI-Sender-Class:To:From:Subject:Cc:Date; b=XutUicq+hpaeNQ2QBWVgHYs7HcdMUkOb6RzWn2JIL0z1WspbzqFl0YEqBM070qIiu rjwzpZT3FCEO8I44aKlw+E1fnFBLBvOuCfLBbeA1hHNYYbXT2TmNVDBEhBUgs2esiv DHGvQ4UnOQU3s/21SJiqYV8OgS2tIHDkhN00jEbk= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from [192.168.1.2] ([2.243.128.109]) by smtp.web.de (mrweb001 [213.165.67.108]) with ESMTPSA (Nemesis) id 0MUEoU-1i3pDy1Z3a-00R3Y2; Thu, 20 Jun 2019 19:31:00 +0200 To: kernel-janitors@vger.kernel.org, Gilles Muller , Julia Lawall , Masahiro Yamada , Michal Marek , Nicolas Palix From: Markus Elfring Subject: [PATCH] Coccinelle: Add a SmPL script for the reconsideration of redundant dev_err() calls Openpgp: preference=signencrypt Autocrypt: addr=Markus.Elfring@web.de; prefer-encrypt=mutual; keydata= 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 FEE= Cc: Coccinelle , LKML , Ding Xiang Message-ID: <05d85182-7ec3-8fc1-4bcd-fd2528de3a40@web.de> Date: Thu, 20 Jun 2019 19:30:56 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:vFxa6NtbOwXDi9mrX1xEx5OTYjttZSWjmZO5m1ggnwUeVy6wgxl PxePf3+FKdpeV421gsigNFcSUAdLU4bYE0StXPbWzgN1xn7lBHkVX3aK39y37ULkh2aDTsx gerFcvcTp9OWZf+oz9t/70jDbU2nvDCpvYymEjh0c7saJ2TLFu/H4MwFa8t14uYgxqu1LgK 5RBcGI+dCUEIym+m6qbCg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:AoCkKZjM5oY=:RQFBISEft/yVryamYYe46m 7TgQ/2lKmp6vnCpUjKdlLc7azdXp5pyUgC7hdGDEMuKjkbEqKJctVYfJz9SpQhENoH27X99Of uxvapMjQDJolUM6u+aSQZ+eyDYVJrdaCQlX0sJF2/dG37CM9JIjMb4dX/lapgLnyo5avLqHNd U3ghT+5L+ii1QMCF9lukLX8b8pnp/OY2fM5/h8hHxaBwIprGtbWAeufdiToAy6QAfDTUeSe1X 8n7A+2WjuHttEfJtQlnFEt1ZA2DgYT1bkqzME8RIdi5yzdK9YQo30JUWA20ad1AHI1M/rMU3a pfodEZzRU5kvLfjjjpymYRbm9WAZQAq4UkDV0vRfdaKJkUrncK+fgnJtRuM8aWOjmUEYRzM+o oRTCH/+Y04c3/slq8UgVC1VO27Yg6lQpTuxerDa1dQZn3s/aWzXjbfUxc34j7DJBOfv+d6yi+ A1BHI5r3MTlceerN7YAL7e1IT+bkGfkhuVlCawoWBnqQBOVg4oDz+Pqal4Une/g/l9GisKIGa ebML6ezqnkADEdCvUZH/IVA7V0siaFU1sCFq4k7bhYV/HBOqhsL4X/SFJejWz7UyNDJrJR/Ma W6Po/bTCoaxgBqUwQcT8nep3o3r/uaXijUUyV1BDobOGEi2+C9mq6L5z48j+fyOUrapXhx3Ew 8fuZqIkhNxLisJW4JIGy7i3nzQ24r8FDILlyFJZEbFC1DTkq5Y02lqwuBMfVPisKQTBqE2RaX ttopAxy57y+h1sZO6mwRcQnHrj02YTfW9qI7O8xBA1xzhUgaAV8SSGkOnpVNloYHMAAnLI+6k o6iTSa2HOtaHeHaqskFpLoLc9kGFUXfp2WPY7cA3ACcDEnFTC0IJ+YaCMvk/OmU8IjYhLBUAs 4BXia6fEmfGXoEDTj0vkRSCUV5nSrov124YdMs574wBv9xCJJlXaSA/BAvGgN9GH3YDuFB9+O UFEDSj5VWBCTt3kFKNY9jzHUcEnAZaNgnBH46xQpcfkWG1Io9Bkgi Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Thu, 20 Jun 2019 19:12:53 +0200 The function =E2=80=9Cdevm_ioremap_resource=E2=80=9D contains appropriate = error reporting. Thus it can be questionable to present another error message at other places. Provide design options for the adjustment of affected source code by the means of the semantic patch language (Coccinelle software). Signed-off-by: Markus Elfring =2D-- .../coccinelle/misc/redundant_dev_err.cocci | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 scripts/coccinelle/misc/redundant_dev_err.cocci diff --git a/scripts/coccinelle/misc/redundant_dev_err.cocci b/scripts/coc= cinelle/misc/redundant_dev_err.cocci new file mode 100644 index 000000000000..aeb228280276 =2D-- /dev/null +++ b/scripts/coccinelle/misc/redundant_dev_err.cocci @@ -0,0 +1,53 @@ +// SPDX-License-Identifier: GPL-2.0 +/// Reconsider a function call for redundant error reporting. +// +// Keywords: dev_err redundant device error messages +// Confidence: Medium + +virtual patch +virtual context +virtual org +virtual report + +@display depends on context@ +expression e; +@@ + e =3D devm_ioremap_resource(...); + if (IS_ERR(e)) + { +* dev_err(...); + return (...); + } + +@deletion depends on patch@ +expression e; +@@ + e =3D devm_ioremap_resource(...); + if (IS_ERR(e)) +-{ +- dev_err(...); + return (...); +-} + +@or depends on org || report@ +expression e; +position p; +@@ + e =3D devm_ioremap_resource(...); + if (IS_ERR(e)) + { + dev_err@p(...); + return (...); + } + +@script:python to_do depends on org@ +p << or.p; +@@ +coccilib.org.print_todo(p[0], + "WARNING: An error message is probably not needed= here because the previously called function contains appropriate error re= porting.") + +@script:python reporting depends on report@ +p << or.p; +@@ +coccilib.report.print_report(p[0], + "WARNING: An error message is probably not n= eeded here because the previously called function contains appropriate err= or reporting.") =2D- 2.22.0