BNX2X: spatch atomics
[akaros.git] / scripts / spatch / linux / sync.cocci
1 @@
2 typedef qlock_t;
3 @@
4 -struct mutex
5 +qlock_t
6
7 @@
8 expression E;
9 @@
10 -mutex_lock(
11 +qlock(
12  E)
13
14 @@
15 expression E;
16 @@
17 -mutex_unlock(
18 +qunlock(
19  E)
20
21 // the netif_addr_lock is a spinlock in linux, but it seems to protect the list
22 // of addresses.  That's the 'qlock' (great name) in plan 9
23 @@
24 expression DEV;
25 @@
26 -netif_addr_lock(DEV)
27 +qlock(&DEV->qlock)
28
29 @@
30 expression DEV;
31 @@
32 -netif_addr_unlock(DEV)
33 +qunlock(&DEV->qlock)
34
35 @@
36 expression DEV;
37 @@
38 -netif_addr_lock_bh(DEV)
39 +qlock(&DEV->qlock)
40
41 @@
42 expression DEV;
43 @@
44 -netif_addr_unlock_bh(DEV)
45 +qunlock(&DEV->qlock)
46
47 @@
48 expression AMT;
49 expression VARP;
50 @@
51 -atomic_add(AMT, VARP)
52 +atomic_add(VARP, AMT)
53
54 @@
55 expression VARP;
56 expression OLD;
57 expression NEW;
58 @@
59 -atomic_cmpxchg(VARP, OLD, NEW)
60 +atomic_cas(VARP, OLD, NEW)