| Lars-Peter Clausen | f1f4550 | 2012-07-01 13:17:07 +0200 | [diff] [blame] | 1 | /// Make sure threaded IRQs without a primary handler are always request with | 
|  | 2 | /// IRQF_ONESHOT | 
|  | 3 | /// | 
|  | 4 | // | 
|  | 5 | // Confidence: Good | 
|  | 6 | // Comments: | 
|  | 7 | // Options: --no-includes | 
|  | 8 |  | 
|  | 9 | virtual patch | 
|  | 10 | virtual context | 
|  | 11 | virtual org | 
|  | 12 | virtual report | 
|  | 13 |  | 
|  | 14 | @r1@ | 
|  | 15 | expression irq; | 
|  | 16 | expression thread_fn; | 
|  | 17 | expression flags; | 
|  | 18 | position p; | 
|  | 19 | @@ | 
|  | 20 | request_threaded_irq@p(irq, NULL, thread_fn, | 
|  | 21 | ( | 
|  | 22 | flags | IRQF_ONESHOT | 
|  | 23 | | | 
|  | 24 | IRQF_ONESHOT | 
|  | 25 | ) | 
|  | 26 | , ...) | 
|  | 27 |  | 
|  | 28 | @depends on patch@ | 
|  | 29 | expression irq; | 
|  | 30 | expression thread_fn; | 
|  | 31 | expression flags; | 
|  | 32 | position p != r1.p; | 
|  | 33 | @@ | 
|  | 34 | request_threaded_irq@p(irq, NULL, thread_fn, | 
|  | 35 | ( | 
|  | 36 | -0 | 
|  | 37 | +IRQF_ONESHOT | 
|  | 38 | | | 
|  | 39 | -flags | 
|  | 40 | +flags | IRQF_ONESHOT | 
|  | 41 | ) | 
|  | 42 | , ...) | 
|  | 43 |  | 
|  | 44 | @depends on context@ | 
|  | 45 | position p != r1.p; | 
|  | 46 | @@ | 
|  | 47 | *request_threaded_irq@p(...) | 
|  | 48 |  | 
|  | 49 | @match depends on report || org@ | 
|  | 50 | expression irq; | 
|  | 51 | position p != r1.p; | 
|  | 52 | @@ | 
|  | 53 | request_threaded_irq@p(irq, NULL, ...) | 
|  | 54 |  | 
|  | 55 | @script:python depends on org@ | 
|  | 56 | p << match.p; | 
|  | 57 | @@ | 
|  | 58 | msg = "ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT" | 
|  | 59 | coccilib.org.print_todo(p[0],msg) | 
|  | 60 |  | 
|  | 61 | @script:python depends on report@ | 
|  | 62 | p << match.p; | 
|  | 63 | @@ | 
|  | 64 | msg = "ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT" | 
|  | 65 | coccilib.report.print_report(p[0],msg) |