1 // SPDX-License-Identifier: GPL-2.0 1 // SPDX-License-Identifier: GPL-2.0 2 /// Remove dev_err() messages after platform_g 2 /// Remove dev_err() messages after platform_get_irq*() failures 3 // 3 // 4 // Confidence: Medium 4 // Confidence: Medium 5 // Options: --include-headers 5 // Options: --include-headers 6 6 7 virtual patch 7 virtual patch 8 virtual context 8 virtual context 9 virtual org 9 virtual org 10 virtual report 10 virtual report 11 11 12 @depends on context@ 12 @depends on context@ 13 expression ret; 13 expression ret; 14 struct platform_device *E; 14 struct platform_device *E; 15 @@ 15 @@ 16 16 17 ret = 17 ret = 18 ( 18 ( 19 platform_get_irq 19 platform_get_irq 20 | 20 | 21 platform_get_irq_byname 21 platform_get_irq_byname 22 )(E, ...); 22 )(E, ...); 23 23 24 if ( \( ret < 0 \| ret <= 0 \) ) 24 if ( \( ret < 0 \| ret <= 0 \) ) 25 { 25 { 26 ( 26 ( 27 if (ret != -EPROBE_DEFER) 27 if (ret != -EPROBE_DEFER) 28 { ... 28 { ... 29 *dev_err(...); 29 *dev_err(...); 30 ... } 30 ... } 31 | 31 | 32 ... 32 ... 33 *dev_err(...); 33 *dev_err(...); 34 ) 34 ) 35 ... 35 ... 36 } 36 } 37 37 38 @depends on patch@ 38 @depends on patch@ 39 expression ret; 39 expression ret; 40 struct platform_device *E; 40 struct platform_device *E; 41 @@ 41 @@ 42 42 43 ret = 43 ret = 44 ( 44 ( 45 platform_get_irq 45 platform_get_irq 46 | 46 | 47 platform_get_irq_byname 47 platform_get_irq_byname 48 )(E, ...); 48 )(E, ...); 49 49 50 if ( \( ret < 0 \| ret <= 0 \) ) 50 if ( \( ret < 0 \| ret <= 0 \) ) 51 { 51 { 52 ( 52 ( 53 -if (ret != -EPROBE_DEFER) 53 -if (ret != -EPROBE_DEFER) 54 -{ ... 54 -{ ... 55 -dev_err(...); 55 -dev_err(...); 56 -... } 56 -... } 57 | 57 | 58 ... 58 ... 59 -dev_err(...); 59 -dev_err(...); 60 ) 60 ) 61 ... 61 ... 62 } 62 } 63 63 64 @r depends on org || report@ 64 @r depends on org || report@ 65 position p1; 65 position p1; 66 expression ret; 66 expression ret; 67 struct platform_device *E; 67 struct platform_device *E; 68 @@ 68 @@ 69 69 70 ret = 70 ret = 71 ( 71 ( 72 platform_get_irq 72 platform_get_irq 73 | 73 | 74 platform_get_irq_byname 74 platform_get_irq_byname 75 )(E, ...); 75 )(E, ...); 76 76 77 if ( \( ret < 0 \| ret <= 0 \) ) 77 if ( \( ret < 0 \| ret <= 0 \) ) 78 { 78 { 79 ( 79 ( 80 if (ret != -EPROBE_DEFER) 80 if (ret != -EPROBE_DEFER) 81 { ... 81 { ... 82 dev_err@p1(...); 82 dev_err@p1(...); 83 ... } 83 ... } 84 | 84 | 85 ... 85 ... 86 dev_err@p1(...); 86 dev_err@p1(...); 87 ) 87 ) 88 ... 88 ... 89 } 89 } 90 90 91 @script:python depends on org@ 91 @script:python depends on org@ 92 p1 << r.p1; 92 p1 << r.p1; 93 @@ 93 @@ 94 94 95 cocci.print_main(p1) 95 cocci.print_main(p1) 96 96 97 @script:python depends on report@ 97 @script:python depends on report@ 98 p1 << r.p1; 98 p1 << r.p1; 99 @@ 99 @@ 100 100 101 msg = "line %s is redundant because platform_g 101 msg = "line %s is redundant because platform_get_irq() already prints an error" % (p1[0].line) 102 coccilib.report.print_report(p1[0],msg) 102 coccilib.report.print_report(p1[0],msg)
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.