void pointers do not need to be cast to other pointer types.
The semantic patch used to find this:
@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>
 static void
 dev_periodic_work(void *xdev)
 {
-       struct visor_device *dev = (struct visor_device *)xdev;
+       struct visor_device *dev = xdev;
        struct visor_driver *drv = to_visor_driver(dev->device.driver);
 
        down(&dev->visordriver_callback_lock);