123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- // 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()")
|