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,
...)
$

