Coccinelle archive on lore.kernel.org
 help / color / Atom feed
From: Markus Elfring <Markus.Elfring@web.de>
To: Julia Lawall <julia.lawall@lip6.fr>,
	Gilles Muller <Gilles.Muller@lip6.fr>,
	Masahiro Yamada <yamada.masahiro@socionext.com>,
	Michal Marek <michal.lkml@markovi.net>,
	Nicolas Palix <nicolas.palix@imag.fr>,
	Wen Yang <wen.yang99@zte.com.cn>
Cc: Yi Wang <wang.yi59@zte.com.cn>,
	cocci@systeme.lip6.fr, linux-kernel@vger.kernel.org
Subject: [Cocci] [PATCH 3/5] Coccinelle: put_device: Merge four SmPL when constraints into one
Date: Mon, 13 May 2019 11:05:06 +0200
Message-ID: <6b62ecb5-ab88-22d9-eee2-db4f58b6d2ae@web.de> (raw)
In-Reply-To: <e34d47fe-3aac-5b01-055d-61d97cf50fe7@web.de>

From: Markus Elfring <elfring@users.sourceforge.net>
Date: Sun, 12 May 2019 18:32:46 +0200

An assignment target was repeated in four SmPL when constraints.
Combine the exclusion specifications into disjunctions for the semantic
patch language so that this target is referenced only once there.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 scripts/coccinelle/free/put_device.cocci | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/scripts/coccinelle/free/put_device.cocci b/scripts/coccinelle/free/put_device.cocci
index 120921366e84..aae79c02c1e0 100644
--- a/scripts/coccinelle/free/put_device.cocci
+++ b/scripts/coccinelle/free/put_device.cocci
@@ -23,10 +23,7 @@ if (id == NULL || ...) { ... return ...; }
     when != platform_device_put(id)
     when != of_dev_put(id)
     when != if (id) { ... put_device(&id->dev) ... }
-    when != e1 = (T)id
-    when != e1 = (T)(&id->dev)
-    when != e1 = get_device(&id->dev)
-    when != e1 = (T1)platform_get_drvdata(id)
+    when != e1 = \( (T) \( id \| (&id->dev) \) \| get_device(&id->dev) \| (T1)platform_get_drvdata(id) \)
 (
   return
 (    id
--
2.21.0

_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci

  parent reply index

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-23  6:14 [Cocci] [PATCH] coccinelle: put_device: reduce false positives Wen Yang
2019-03-23 13:41 ` Julia Lawall
2019-03-23 19:44 ` Markus Elfring
2019-03-23 20:06   ` Julia Lawall
2019-03-26  8:45     ` Dan Carpenter
2019-03-26  9:38       ` Julia Lawall
2019-03-26 10:11         ` Dan Carpenter
2019-03-26 10:15           ` Julia Lawall
2019-03-28 13:08             ` Masahiro Yamada
2019-03-28 14:19               ` Julia Lawall
2019-04-01  6:44               ` [Cocci] Coccinelle: " Markus Elfring
2019-04-01 20:04                 ` Julia Lawall
2019-05-13  8:55 ` [Cocci] [PATCH 0/5] Coccinelle: put_device: Adjustments for a SmPL script Markus Elfring
2019-05-13  8:59   ` [Cocci] [PATCH 1/5] Coccinelle: put_device: Adjust a message construction Markus Elfring
2019-05-13  9:35     ` Julia Lawall
2019-05-13 11:33       ` [Cocci] [1/5] " Markus Elfring
2019-05-13 11:36         ` Julia Lawall
2019-05-13 12:48           ` Markus Elfring
2019-07-06 13:13     ` [Cocci] [PATCH 1/5] " Masahiro Yamada
2019-05-13  9:01   ` [Cocci] [PATCH 2/5] Coccinelle: put_device: Add a cast to an expression for an assignment Markus Elfring
2019-05-13  9:33     ` Julia Lawall
2019-07-06 13:13     ` Masahiro Yamada
2019-05-13  9:05   ` Markus Elfring [this message]
2019-05-13  9:32     ` [Cocci] [PATCH 3/5] Coccinelle: put_device: Merge four SmPL when constraints into one Julia Lawall
2019-05-13 11:48       ` [Cocci] [3/5] " Markus Elfring
2019-05-13 11:48       ` Markus Elfring
2019-05-13 11:51         ` Julia Lawall
2019-05-13 12:52           ` Markus Elfring
2019-05-13  9:07   ` [Cocci] [PATCH 4/5] Coccinelle: put_device: Extend when constraints for two SmPL ellipses Markus Elfring
2019-05-13  9:31     ` Julia Lawall
2019-05-13 12:22       ` [Cocci] [4/5] " Markus Elfring
2019-05-14  5:55       ` Markus Elfring
2019-05-14  6:52         ` Julia Lawall
2019-05-14  7:49           ` Markus Elfring
2019-05-14  9:18             ` [Cocci] [4/5] Coccinelle: put_device: Extend when constraints for twoSmPL ellipses wen.yang99
2019-05-14  9:51               ` Markus Elfring
2019-05-14  7:49           ` [Cocci] [4/5] Coccinelle: put_device: Extend when constraints for two SmPL ellipses Markus Elfring
2019-05-13  9:07   ` [Cocci] [PATCH 4/5] " Markus Elfring
2019-05-13  9:10   ` [Cocci] [PATCH 5/5] Coccinelle: put_device: Merge two SmPL when constraints into one Markus Elfring
2019-05-13  9:30     ` Julia Lawall
2019-05-13 12:35       ` [Cocci] [5/5] " Markus Elfring

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6b62ecb5-ab88-22d9-eee2-db4f58b6d2ae@web.de \
    --to=markus.elfring@web.de \
    --cc=Gilles.Muller@lip6.fr \
    --cc=cocci@systeme.lip6.fr \
    --cc=julia.lawall@lip6.fr \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michal.lkml@markovi.net \
    --cc=nicolas.palix@imag.fr \
    --cc=wang.yi59@zte.com.cn \
    --cc=wen.yang99@zte.com.cn \
    --cc=yamada.masahiro@socionext.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Coccinelle archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/cocci/0 cocci/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 cocci cocci/ https://lore.kernel.org/cocci \
		cocci@systeme.lip6.fr cocci@archiver.kernel.org
	public-inbox-index cocci


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/fr.lip6.systeme.cocci


AGPL code for this site: git clone https://public-inbox.org/ public-inbox