2021-06-21 17:49:15

by Keith Busch

[permalink] [raw]
Subject: [PATCH] coccinelle: api: remove kobj_to_dev.cocci script

Using kobj_to_dev() instead of container_of() is not universally
accepted among maintainers as an improvement. The warning leads to
repeated patch submissions that won't be accepted. Remove the script.

Cc: Christoph Hellwig <[email protected]>
Cc: Jens Axboe <[email protected]>
Cc: Denis Efremov <[email protected]>
Cc: Julia Lawall <[email protected]>
Signed-off-by: Keith Busch <[email protected]>
---
scripts/coccinelle/api/kobj_to_dev.cocci | 45 ------------------------
1 file changed, 45 deletions(-)
delete mode 100644 scripts/coccinelle/api/kobj_to_dev.cocci

diff --git a/scripts/coccinelle/api/kobj_to_dev.cocci b/scripts/coccinelle/api/kobj_to_dev.cocci
deleted file mode 100644
index cd5d31c6fe76..000000000000
--- a/scripts/coccinelle/api/kobj_to_dev.cocci
+++ /dev/null
@@ -1,45 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-///
-/// Use kobj_to_dev() instead of container_of()
-///
-// Confidence: High
-// Copyright: (C) 2020 Denis Efremov ISPRAS
-// Options: --no-includes --include-headers
-//
-// Keywords: kobj_to_dev, container_of
-//
-
-virtual context
-virtual report
-virtual org
-virtual patch
-
-
-@r depends on !patch@
-expression ptr;
-symbol kobj;
-position p;
-@@
-
-* container_of(ptr, struct device, kobj)@p
-
-
-@depends on patch@
-expression ptr;
-@@
-
-- container_of(ptr, struct device, kobj)
-+ kobj_to_dev(ptr)
-
-
-@script:python depends on report@
-p << r.p;
-@@
-
-coccilib.report.print_report(p[0], "WARNING opportunity for kobj_to_dev()")
-
-@script:python depends on org@
-p << r.p;
-@@
-
-coccilib.org.print_todo(p[0], "WARNING opportunity for kobj_to_dev()")
--
2.25.4


2021-06-21 18:34:45

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH] coccinelle: api: remove kobj_to_dev.cocci script

On 6/21/21 11:48 AM, Keith Busch wrote:
> Using kobj_to_dev() instead of container_of() is not universally
> accepted among maintainers as an improvement. The warning leads to
> repeated patch submissions that won't be accepted. Remove the script.

Acked-by: Jens Axboe <[email protected]>

--
Jens Axboe

2021-06-21 18:36:17

by Denis Efremov

[permalink] [raw]
Subject: Re: [PATCH] coccinelle: api: remove kobj_to_dev.cocci script



On 6/21/21 8:48 PM, Keith Busch wrote:
> Using kobj_to_dev() instead of container_of() is not universally
> accepted among maintainers as an improvement. The warning leads to
> repeated patch submissions that won't be accepted. Remove the script.
>
> Cc: Christoph Hellwig <[email protected]>
> Cc: Jens Axboe <[email protected]>
> Cc: Denis Efremov <[email protected]>
> Cc: Julia Lawall <[email protected]>
> Signed-off-by: Keith Busch <[email protected]>

Acked-by: Denis Efremov <[email protected]>

> ---
> scripts/coccinelle/api/kobj_to_dev.cocci | 45 ------------------------
> 1 file changed, 45 deletions(-)
> delete mode 100644 scripts/coccinelle/api/kobj_to_dev.cocci
>
> diff --git a/scripts/coccinelle/api/kobj_to_dev.cocci b/scripts/coccinelle/api/kobj_to_dev.cocci
> deleted file mode 100644
> index cd5d31c6fe76..000000000000
> --- a/scripts/coccinelle/api/kobj_to_dev.cocci
> +++ /dev/null
> @@ -1,45 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -///
> -/// Use kobj_to_dev() instead of container_of()
> -///
> -// Confidence: High
> -// Copyright: (C) 2020 Denis Efremov ISPRAS
> -// Options: --no-includes --include-headers
> -//
> -// Keywords: kobj_to_dev, container_of
> -//
> -
> -virtual context
> -virtual report
> -virtual org
> -virtual patch
> -
> -
> -@r depends on !patch@
> -expression ptr;
> -symbol kobj;
> -position p;
> -@@
> -
> -* container_of(ptr, struct device, kobj)@p
> -
> -
> -@depends on patch@
> -expression ptr;
> -@@
> -
> -- container_of(ptr, struct device, kobj)
> -+ kobj_to_dev(ptr)
> -
> -
> -@script:python depends on report@
> -p << r.p;
> -@@
> -
> -coccilib.report.print_report(p[0], "WARNING opportunity for kobj_to_dev()")
> -
> -@script:python depends on org@
> -p << r.p;
> -@@
> -
> -coccilib.org.print_todo(p[0], "WARNING opportunity for kobj_to_dev()")
>

2021-06-21 18:51:46

by Julia Lawall

[permalink] [raw]
Subject: Re: [PATCH] coccinelle: api: remove kobj_to_dev.cocci script



On Mon, 21 Jun 2021, Denis Efremov wrote:

>
>
> On 6/21/21 8:48 PM, Keith Busch wrote:
> > Using kobj_to_dev() instead of container_of() is not universally
> > accepted among maintainers as an improvement. The warning leads to
> > repeated patch submissions that won't be accepted. Remove the script.
> >
> > Cc: Christoph Hellwig <[email protected]>
> > Cc: Jens Axboe <[email protected]>
> > Cc: Denis Efremov <[email protected]>
> > Cc: Julia Lawall <[email protected]>
> > Signed-off-by: Keith Busch <[email protected]>
>
> Acked-by: Denis Efremov <[email protected]>

Applied.

>
> > ---
> > scripts/coccinelle/api/kobj_to_dev.cocci | 45 ------------------------
> > 1 file changed, 45 deletions(-)
> > delete mode 100644 scripts/coccinelle/api/kobj_to_dev.cocci
> >
> > diff --git a/scripts/coccinelle/api/kobj_to_dev.cocci b/scripts/coccinelle/api/kobj_to_dev.cocci
> > deleted file mode 100644
> > index cd5d31c6fe76..000000000000
> > --- a/scripts/coccinelle/api/kobj_to_dev.cocci
> > +++ /dev/null
> > @@ -1,45 +0,0 @@
> > -// SPDX-License-Identifier: GPL-2.0-only
> > -///
> > -/// Use kobj_to_dev() instead of container_of()
> > -///
> > -// Confidence: High
> > -// Copyright: (C) 2020 Denis Efremov ISPRAS
> > -// Options: --no-includes --include-headers
> > -//
> > -// Keywords: kobj_to_dev, container_of
> > -//
> > -
> > -virtual context
> > -virtual report
> > -virtual org
> > -virtual patch
> > -
> > -
> > -@r depends on !patch@
> > -expression ptr;
> > -symbol kobj;
> > -position p;
> > -@@
> > -
> > -* container_of(ptr, struct device, kobj)@p
> > -
> > -
> > -@depends on patch@
> > -expression ptr;
> > -@@
> > -
> > -- container_of(ptr, struct device, kobj)
> > -+ kobj_to_dev(ptr)
> > -
> > -
> > -@script:python depends on report@
> > -p << r.p;
> > -@@
> > -
> > -coccilib.report.print_report(p[0], "WARNING opportunity for kobj_to_dev()")
> > -
> > -@script:python depends on org@
> > -p << r.p;
> > -@@
> > -
> > -coccilib.org.print_todo(p[0], "WARNING opportunity for kobj_to_dev()")
> >
>