| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- // SPDX-License-Identifier: GPL-2.0
- /// Remove dev_err() messages after platform_get_irq*() failures
- //
- // Confidence: Medium
- // Options: --include-headers
- virtual patch
- virtual context
- virtual org
- virtual report
- @depends on context@
- expression ret;
- struct platform_device *E;
- @@
- ret =
- (
- platform_get_irq
- |
- platform_get_irq_byname
- )(E, ...);
- if ( \( ret < 0 \| ret <= 0 \) )
- {
- (
- if (ret != -EPROBE_DEFER)
- { ...
- *dev_err(...);
- ... }
- |
- ...
- *dev_err(...);
- )
- ...
- }
- @depends on patch@
- expression ret;
- struct platform_device *E;
- @@
- ret =
- (
- platform_get_irq
- |
- platform_get_irq_byname
- )(E, ...);
- if ( \( ret < 0 \| ret <= 0 \) )
- {
- (
- -if (ret != -EPROBE_DEFER)
- -{ ...
- -dev_err(...);
- -... }
- |
- ...
- -dev_err(...);
- )
- ...
- }
- @r depends on org || report@
- position p1;
- expression ret;
- struct platform_device *E;
- @@
- ret =
- (
- platform_get_irq
- |
- platform_get_irq_byname
- )(E, ...);
- if ( \( ret < 0 \| ret <= 0 \) )
- {
- (
- if (ret != -EPROBE_DEFER)
- { ...
- dev_err@p1(...);
- ... }
- |
- ...
- dev_err@p1(...);
- )
- ...
- }
- @script:python depends on org@
- p1 << r.p1;
- @@
- cocci.print_main(p1)
- @script:python depends on report@
- p1 << r.p1;
- @@
- msg = "line %s is redundant because platform_get_irq() already prints an error" % (p1[0].line)
- coccilib.report.print_report(p1[0],msg)
|