This patch does away with the cast on void * as it is unnecessary.
Semantic patch used is as follows:
@r@
expression x;
void* e;
type T;
identifier f;
@@
(
  *((T *)e)
|
  ((T *)x)[...]
|
  ((T *)x)->f
|
- (T *)
  e
)
Signed-off-by: Shraddha Barke <shraddha.6596@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
                __u32 *genp;
 
                len = 0;
-               if (obd_ioctl_getdata(&buf, &len, (void *)uarg))
+               if (obd_ioctl_getdata(&buf, &len, uarg))
                        return -EINVAL;
 
                data = (struct obd_ioctl_data *)buf;
                        *genp = lov->lov_tgts[i]->ltd_gen;
                }
 
-               if (copy_to_user((void *)uarg, buf, len))
+               if (copy_to_user(uarg, buf, len))
                        rc = -EFAULT;
                obd_ioctl_freedata(buf, len);
                break;