cocci: remove unnecessary casts of void * while avoiding casts with __user or __force ?
From: Joe Perches
Date: Mon Aug 28 2017 - 12:49:27 EST
A simple cocci script that removes unnecessary casts of
a void * will also remove casts with __force or __user
e.g.:
- xemaclite_aligned_write(address_ptr, (u32 __force *) addr, ETH_ALEN);
+ xemaclite_aligned_write(address_ptr, addr, ETH_ALEN);
Is there a simple mechanism to avoid converting those?
$ cat void.cocci
@@
type T;
void *v;
expression e;
@@
- e = (T *)v;
+ e = v;
@@
identifier f;
type T;
void *v;
@@
f(...,
- (T *)v,
+ v,
...)
$