/* Allocate user_data separately because of kmalloc's limits */
                if (num_extra > 0) {
                        up->user_size = num_cams * num_extra;
-                       up->user_data = (char *) kmalloc(up->user_size, GFP_KERNEL);
+                       up->user_data = kmalloc(up->user_size, GFP_KERNEL);
                        if (up->user_data == NULL) {
                                err("%s: Failed to allocate user_data (%d. bytes)",
                                    __FUNCTION__, up->user_size);
 
 
 
        /* Allocate 2 bytes of memory for camera control USB transfers */
-       if (!(cam->control_buffer = (u16*)kmalloc(2, GFP_KERNEL))) {
+       if (!(cam->control_buffer = kmalloc(2, GFP_KERNEL))) {
                DBG(1,"Couldn't allocate memory for camera control transfers")
                err = -ENOMEM;
                goto fail;
        memset(cam->control_buffer, 0, 2);
 
        /* Allocate 8 bytes of memory for USB data transfers to the FSB */
-       if (!(cam->data_buffer = (u16*)kmalloc(8, GFP_KERNEL))) {
+       if (!(cam->data_buffer = kmalloc(8, GFP_KERNEL))) {
                DBG(1, "Couldn't allocate memory for data "
                       "transfers to the FSB")
                err = -ENOMEM;
 
                memset (bep, 0, sizeof (auerbuf_t));
                 bep->list = bcp;
                 INIT_LIST_HEAD (&bep->buff_list);
-                bep->bufp = (char *) kmalloc (bufsize, GFP_KERNEL);
+                bep->bufp = kmalloc (bufsize, GFP_KERNEL);
                 if (!bep->bufp)
                        goto bl_fail;
                 bep->dr = (struct usb_ctrlrequest *) kmalloc (sizeof (struct usb_ctrlrequest), GFP_KERNEL);
                 }
         }
         if (!cp->intbufp) {
-                cp->intbufp = (char *) kmalloc (irqsize, GFP_KERNEL);
+                cp->intbufp = kmalloc (irqsize, GFP_KERNEL);
                 if (!cp->intbufp) {
                         ret = -ENOMEM;
                         goto intoend;
 
 
        rio->rio_dev = dev;
 
-       if (!(rio->obuf = (char *) kmalloc(OBUF_SIZE, GFP_KERNEL))) {
+       if (!(rio->obuf = kmalloc(OBUF_SIZE, GFP_KERNEL))) {
                err("probe_rio: Not enough memory for the output buffer");
                usb_deregister_dev(intf, &usb_rio_class);
                return -ENOMEM;
        }
        dbg("probe_rio: obuf address:%p", rio->obuf);
 
-       if (!(rio->ibuf = (char *) kmalloc(IBUF_SIZE, GFP_KERNEL))) {
+       if (!(rio->ibuf = kmalloc(IBUF_SIZE, GFP_KERNEL))) {
                err("probe_rio: Not enough memory for the input buffer");
                usb_deregister_dev(intf, &usb_rio_class);
                kfree(rio->obuf);