Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) // SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) /// Since commit 1c6c69525b40 ("genirq: Reject bogus threaded irq requests")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) /// threaded IRQs without a primary handler need to be requested with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) /// IRQF_ONESHOT, otherwise the request will fail.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) ///
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) /// So pass the IRQF_ONESHOT flag in this case.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) ///
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) //
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) // Confidence: Moderate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) // Comments:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) // Options: --no-includes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) virtual patch
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) virtual context
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) virtual org
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) virtual report
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) @r1@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) expression dev, irq, thread_fn;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) position p;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) @@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) (
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) request_threaded_irq@p(irq, NULL, thread_fn,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) (
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) IRQF_ONESHOT | ...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) IRQF_ONESHOT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) , ...)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) devm_request_threaded_irq@p(dev, irq, NULL, thread_fn,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) (
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) IRQF_ONESHOT | ...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) IRQF_ONESHOT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) , ...)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) @r2@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) expression dev, irq, thread_fn, flags, e;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) position p != r1.p;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) @@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) (
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) flags = IRQF_ONESHOT | ...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) flags |= IRQF_ONESHOT | ...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) ... when != flags = e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) (
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) request_threaded_irq@p(irq, NULL, thread_fn, flags, ...);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) devm_request_threaded_irq@p(dev, irq, NULL, thread_fn, flags, ...);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) @depends on patch@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) expression dev, irq, thread_fn, flags;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) position p != {r1.p,r2.p};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) @@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) (
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) request_threaded_irq@p(irq, NULL, thread_fn,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) (
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) -0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) +IRQF_ONESHOT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) -flags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) +flags | IRQF_ONESHOT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) , ...)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) devm_request_threaded_irq@p(dev, irq, NULL, thread_fn,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) (
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) -0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) +IRQF_ONESHOT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) -flags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) +flags | IRQF_ONESHOT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) , ...)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) @depends on context@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) expression dev, irq;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) position p != {r1.p,r2.p};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) @@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) (
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) *request_threaded_irq@p(irq, NULL, ...)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) *devm_request_threaded_irq@p(dev, irq, NULL, ...)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) @match depends on report || org@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) expression dev, irq;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) position p != {r1.p,r2.p};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) @@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) (
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) request_threaded_irq@p(irq, NULL, ...)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) devm_request_threaded_irq@p(dev, irq, NULL, ...)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) @script:python depends on org@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) p << match.p;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) @@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) msg = "ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) coccilib.org.print_todo(p[0],msg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) @script:python depends on report@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) p << match.p;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) @@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) msg = "ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) coccilib.report.print_report(p[0],msg)