WIP FPC-III support
[linux/fpc-iii.git] / scripts / coccinelle / api / kobj_to_dev.cocci
blobcd5d31c6fe76fa603e60a4a31763b98d7ad1c01e
1 // SPDX-License-Identifier: GPL-2.0-only
2 ///
3 /// Use kobj_to_dev() instead of container_of()
4 ///
5 // Confidence: High
6 // Copyright: (C) 2020 Denis Efremov ISPRAS
7 // Options: --no-includes --include-headers
8 //
9 // Keywords: kobj_to_dev, container_of
12 virtual context
13 virtual report
14 virtual org
15 virtual patch
18 @r depends on !patch@
19 expression ptr;
20 symbol kobj;
21 position p;
24 * container_of(ptr, struct device, kobj)@p
27 @depends on patch@
28 expression ptr;
31 - container_of(ptr, struct device, kobj)
32 + kobj_to_dev(ptr)
35 @script:python depends on report@
36 p << r.p;
39 coccilib.report.print_report(p[0], "WARNING opportunity for kobj_to_dev()")
41 @script:python depends on org@
42 p << r.p;
45 coccilib.org.print_todo(p[0], "WARNING opportunity for kobj_to_dev()")