dma_zalloc_coherent() is no longer needed as it has no users because dma_alloc_coherent() already zeroes out memory for us. The Coccinelle grammar rule that used to check for dma_alloc_coherent() + memset() is modified so that it just tells the user that the memset is not needed anymore.
Showing the changes to scripts (2 of 3 files). Show all
Unified · Split
| @@ -32,7 +32,7 @@ type T; · 31 unmodified lines | ||
| 32 | 32 | (T *) |
| 33 | 33 | \(kmalloc\|kzalloc\|kcalloc\|kmem_cache_alloc\|kmem_cache_zalloc\| |
| 34 | 34 | kmem_cache_alloc_node\|kmalloc_node\|kzalloc_node\|vmalloc\|vzalloc\| |
| 35 | − dma_alloc_coherent\|dma_zalloc_coherent\|devm_kmalloc\|devm_kzalloc\| | |
| 35 | + dma_alloc_coherent\|devm_kmalloc\|devm_kzalloc\| | |
| 36 | 36 | kvmalloc\|kvzalloc\|kvmalloc_node\|kvzalloc_node\|pci_alloc_consistent\| |
| 37 | 37 | pci_zalloc_consistent\|kmem_alloc\|kmem_zalloc\|kmem_zone_alloc\| |
| 38 | 38 | kmem_zone_zalloc\|vmalloc_node\|vzalloc_node\)(...) |
| @@ -55,7 +55,7 @@ type r1.T; · 16 unmodified lines | ||
| 55 | 55 | * (T *) |
| 56 | 56 | \(kmalloc\|kzalloc\|kcalloc\|kmem_cache_alloc\|kmem_cache_zalloc\| |
| 57 | 57 | kmem_cache_alloc_node\|kmalloc_node\|kzalloc_node\|vmalloc\|vzalloc\| |
| 58 | − dma_alloc_coherent\|dma_zalloc_coherent\|devm_kmalloc\|devm_kzalloc\| | |
| 58 | + dma_alloc_coherent\|devm_kmalloc\|devm_kzalloc\| | |
| 59 | 59 | kvmalloc\|kvzalloc\|kvmalloc_node\|kvzalloc_node\|pci_alloc_consistent\| |
| 60 | 60 | pci_zalloc_consistent\|kmem_alloc\|kmem_zalloc\|kmem_zone_alloc\| |
| 61 | 61 | kmem_zone_zalloc\|vmalloc_node\|vzalloc_node\)(...) |
| @@ -78,7 +78,7 @@ type r1.T; · 16 unmodified lines | ||
| 78 | 78 | - (T *) |
| 79 | 79 | \(kmalloc\|kzalloc\|kcalloc\|kmem_cache_alloc\|kmem_cache_zalloc\| |
| 80 | 80 | kmem_cache_alloc_node\|kmalloc_node\|kzalloc_node\|vmalloc\|vzalloc\| |
| 81 | − dma_alloc_coherent\|dma_zalloc_coherent\|devm_kmalloc\|devm_kzalloc\| | |
| 81 | + dma_alloc_coherent\|devm_kmalloc\|devm_kzalloc\| | |
| 82 | 82 | kvmalloc\|kvzalloc\|kvmalloc_node\|kvzalloc_node\|pci_alloc_consistent\| |
| 83 | 83 | pci_zalloc_consistent\|kmem_alloc\|kmem_zalloc\|kmem_zone_alloc\| |
| 84 | 84 | kmem_zone_zalloc\|vmalloc_node\|vzalloc_node\)(...) |
| @@ -95,7 +95,7 @@ position p; · 10 unmodified lines | ||
| 95 | 95 | (T@p *) |
| 96 | 96 | \(kmalloc\|kzalloc\|kcalloc\|kmem_cache_alloc\|kmem_cache_zalloc\| |
| 97 | 97 | kmem_cache_alloc_node\|kmalloc_node\|kzalloc_node\|vmalloc\|vzalloc\| |
| 98 | − dma_alloc_coherent\|dma_zalloc_coherent\|devm_kmalloc\|devm_kzalloc\| | |
| 98 | + dma_alloc_coherent\|devm_kmalloc\|devm_kzalloc\| | |
| 99 | 99 | kvmalloc\|kvzalloc\|kvmalloc_node\|kvzalloc_node\|pci_alloc_consistent\| |
| 100 | 100 | pci_zalloc_consistent\|kmem_alloc\|kmem_zalloc\|kmem_zone_alloc\| |
| 101 | 101 | kmem_zone_zalloc\|vmalloc_node\|vzalloc_node\)(...) |
| @@ -69,15 +69,6 @@ statement S; · 68 unmodified lines | ||
| 69 | 69 | - x = (T)vmalloc(E1); |
| 70 | 70 | + x = (T)vzalloc(E1); |
| 71 | 71 | | |
| 72 | −- x = dma_alloc_coherent(E2,E1,E3,E4); | |
| 73 | −+ x = dma_zalloc_coherent(E2,E1,E3,E4); | |
| 74 | −| | |
| 75 | −- x = (T *)dma_alloc_coherent(E2,E1,E3,E4); | |
| 76 | −+ x = dma_zalloc_coherent(E2,E1,E3,E4); | |
| 77 | −| | |
| 78 | −- x = (T)dma_alloc_coherent(E2,E1,E3,E4); | |
| 79 | −+ x = (T)dma_zalloc_coherent(E2,E1,E3,E4); | |
| 80 | −| | |
| 81 | 72 | - x = kmalloc_node(E1,E2,E3); |
| 82 | 73 | + x = kzalloc_node(E1,E2,E3); |
| 83 | 74 | | |
| @@ -225,7 +216,7 @@ p << r2.p; · 141 unmodified lines | ||
| 225 | 216 | x << r2.x; |
| 226 | 217 | @@ |
| 227 | 218 | |
| 228 | −msg="WARNING: dma_zalloc_coherent should be used for %s, instead of dma_alloc_coherent/memset" % (x) | |
| 219 | +msg="WARNING: dma_alloc_coherent use in %s already zeroes out memory, so memset is not needed" % (x) | |
| 229 | 220 | coccilib.report.print_report(p[0], msg) |
| 230 | 221 | |
| 231 | 222 | //----------------------------------------------------------------- |