blob: 01802f6c092016ab1f927c6dce801ccca8064930 [file] [log] [blame]
@@
expression T;
@@
-msleep(T);
+kthread_usleep(1000 * T);
@@
expression TMIN;
expression TMAX;
@@
-usleep_range(TMIN, TMAX);
+kthread_usleep(TMIN);
// barriers
@@
@@
-barrier();
+cmb();
@@
@@
-smp_mb();
+mb();
@@
@@
-smp_rmb();
+rmb();
@@
@@
-smp_wmb();
+wmb();
@@
expression A0;
expression A1;
@@
-min(A0, A1)
+MIN(A0, A1)
@@
expression A0;
expression A1;
@@
-max(A0, A1)
+MAX(A0, A1)
@@
expression LO;
expression HI;
expression V;
@@
-clamp(V, LO, HI)
+CLAMP(V, LO, HI)
@@
expression A0;
expression A1;
type T;
@@
-min_t(T, A0, A1)
+MIN_T(T, A0, A1)
@@
expression A0;
expression A1;
type T;
@@
-max_t(T, A0, A1)
+MAX_T(T, A0, A1)
@@
expression LO;
expression HI;
expression V;
type T;
@@
-clamp_t(T, V, LO, HI)
+CLAMP_T(T, V, LO, HI)
// locking
// being conservative: they might not need irqsave
@@
expression E;
@@
-spin_lock_init(E)
+spinlock_init_irqsave(E)
@@
expression E;
@@
-spin_lock_bh(E)
+spin_lock(E)
@@
expression E;
@@
-spin_unlock_bh(E)
+spin_unlock(E)
@@
expression E;
@@
-spin_lock_irq(E)
+spin_lock_irqsave(E)
@@
expression E;
@@
-spin_unlock_irq(E)
+spin_unlock_irqsave(E)
@@
expression lock, flags;
@@
-spin_lock_irqsave(lock, flags)
+spin_lock_irqsave(lock)
...
-spin_unlock_irqrestore(lock, flags)
+spin_unlock_irqsave(lock)
@@
typedef raw_spinlock_t;
typedef spinlock_t;
@@
-raw_spinlock_t
+spinlock_t
@@
expression E;
@@
-raw_spin_lock_init(E)
+spinlock_init_irqsave(E)
@@
expression E;
@@
-raw_spin_lock(E)
+spin_lock_irqsave(E)
@@
expression E;
@@
-raw_spin_unlock(E)
+spin_unlock_irqsave(E)
@@
expression lock, flags;
@@
-raw_spin_lock_irqsave(lock, flags)
+spin_lock_irqsave(lock)
...
-raw_spin_unlock_irqrestore(lock, flags)
+spin_unlock_irqsave(lock)
@@
expression E;
@@
-ilog2(E)
+LOG2_UP(E)
@@
expression E;
@@
-roundup_pow_of_two(E)
+ROUNDUPPWR2(E)
@@
expression E;
@@
-rounddown_pow_of_two(E)
+ROUNDDOWNPWR2(E)
@@
expression E;
@@
-is_power_of_2(E)
+IS_PWR2(E)
@@
expression DST;
expression SRC;
expression LEN;
@@
-copy_from_user(DST, SRC, LEN)
+memcpy_from_user(current, DST, SRC, LEN)
@@
expression DST;
expression SRC;
expression LEN;
@@
-copy_to_user(DST, SRC, LEN)
+memcpy_to_user(current, DST, SRC, LEN)
@@
@@
-ktime_get_real()
+epoch_nsec()
@@
expression E;
@@
-ktime_to_ns(E)
+E
@@
expression E;
@@
-htonl(E)
+cpu_to_be32(E)
@@
expression E;
@@
-htons(E)
+cpu_to_be16(E)
@@
expression E;
@@
-ntohl(E)
+be32_to_cpu(E)
@@
expression E;
@@
-ntohs(E)
+be16_to_cpu(E)
@@
@@
-smp_processor_id()
+core_id()
// This is a little half-assed. Any fix will need to be manually edited to
// provide a pointer to the pci device. And you'll need to fix your handler to
// be the correct type.
@@
expression IRQ;
expression HANDLER;
expression FLAGS;
expression NAME;
expression ARG;
@@
-request_irq(IRQ, HANDLER, FLAGS, NAME, ARG)
+register_irq(IRQ, HANDLER, ARG, pci_to_tbdf(PCIDEV))
// There are 3 return types for the irq handlers, IRQ_NONE, IRQ_HANDLED, and
// IRQ_WAKE_THREAD. We can change the first two to just return. The latter
// will need manual attention, since they want a thread to handle the rest.
@@
identifier HANDLER;
typedef irqreturn_t;
@@
irqreturn_t HANDLER(...) {
<...
-return IRQ_NONE;
+return;
...>
}
// Need to comment out irqreturn_t, I guess because it's in a previous rule
@@
identifier HANDLER;
//typedef irqreturn_t;
@@
irqreturn_t HANDLER(...) {
<...
-return IRQ_HANDLED;
+return;
...>
}
// There should be a way to catch both decl and def at once...
// Changes the definition
@@
identifier HANDLER;
//typedef irqreturn_t;
identifier IRQ;
identifier ARG;
@@
-irqreturn_t HANDLER(int IRQ, void *ARG
+void HANDLER(struct hw_trapframe *hw_tf, void *ARG
) { ... }
// Changes the declaration
@@
identifier HANDLER;
//typedef irqreturn_t;
identifier IRQ;
identifier ARG;
@@
-irqreturn_t HANDLER(int IRQ, void *ARG
+void HANDLER(struct hw_trapframe *hw_tf, void *ARG
);
@@
expression VAL;
expression UP;
@@
-roundup(VAL, UP)
+ROUNDUP(VAL, UP)
@@
expression VAL;
expression DOWN;
@@
-rounddown(VAL, DOWN)
+ROUNDDOWN(VAL, DOWN)
@@
expression STMT;
@@
-BUG_ON(STMT)
+assert(!(STMT))
@@
expression STMT;
@@
-BUILD_BUG_ON(STMT)
+static_assert(!(STMT))
@@
@@
-BUG()
+panic("BUG")
@@
@@
-WARN_ON
+warn_on
@@
@@
-WARN_ON_ONCE
+warn_on_once
@@
expression P;
@@
-pci_set_master(P)
+pci_set_bus_master(P)
@@
expression P;
@@
-pci_clear_master(P)
+pci_clr_bus_master(P)