| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | /// Find missing iounmaps. |
|---|
| 2 | 3 | /// |
|---|
| 3 | 4 | //# This only signals a missing iounmap when there is an iounmap later |
|---|
| .. | .. |
|---|
| 5 | 6 | //# False positives can be due to loops. |
|---|
| 6 | 7 | // |
|---|
| 7 | 8 | // Confidence: Moderate |
|---|
| 8 | | -// Copyright: (C) 2012 Julia Lawall, INRIA/LIP6. GPLv2. |
|---|
| 9 | | -// Copyright: (C) 2012 Gilles Muller, INRIA/LiP6. GPLv2. |
|---|
| 9 | +// Copyright: (C) 2012 Julia Lawall, INRIA/LIP6. |
|---|
| 10 | +// Copyright: (C) 2012 Gilles Muller, INRIA/LiP6. |
|---|
| 10 | 11 | // URL: http://coccinelle.lip6.fr/ |
|---|
| 11 | 12 | // Comments: |
|---|
| 12 | 13 | // Options: |
|---|
| .. | .. |
|---|
| 22 | 23 | position p1,p2,p3; |
|---|
| 23 | 24 | @@ |
|---|
| 24 | 25 | |
|---|
| 25 | | -e = \(ioremap@p1\|ioremap_nocache@p1\)(...) |
|---|
| 26 | +e = \(ioremap@p1\)(...) |
|---|
| 26 | 27 | ... when != iounmap(e) |
|---|
| 27 | 28 | if (<+...e...+>) S |
|---|
| 28 | 29 | ... when any |
|---|