if (ret)
                return ret;
 
-       buf->crop_horizontal_start = ((u16)reg_val_h << 8) | (u16)reg_val;
+       buf->crop_horizontal_start = (reg_val_h << 8) | reg_val;
 
        ret =  gc2235_read_reg(client, GC2235_8BIT,
                                        GC2235_V_CROP_START_H, ®_val_h);
        if (ret)
                return ret;
 
-       buf->crop_vertical_start = ((u16)reg_val_h << 8) | (u16)reg_val;
+       buf->crop_vertical_start = (reg_val_h << 8) | reg_val;
 
        ret = gc2235_read_reg(client, GC2235_8BIT,
                                        GC2235_H_OUTSIZE_H, ®_val_h);
                                        GC2235_H_OUTSIZE_L, ®_val);
        if (ret)
                return ret;
-       buf->output_width = ((u16)reg_val_h << 8) | (u16)reg_val;
+       buf->output_width = (reg_val_h << 8) | reg_val;
 
        ret = gc2235_read_reg(client, GC2235_8BIT,
                                        GC2235_V_OUTSIZE_H, ®_val_h);
                                        GC2235_V_OUTSIZE_L, ®_val);
        if (ret)
                return ret;
-       buf->output_height = ((u16)reg_val_h << 8) | (u16)reg_val;
+       buf->output_height = (reg_val_h << 8) | reg_val;
 
        buf->crop_horizontal_end = buf->crop_horizontal_start +
                                                buf->output_width - 1;
        if (ret)
                return ret;
 
-       dummy = ((u16)reg_val_h << 8) | (u16)reg_val;
+       dummy = (reg_val_h << 8) | reg_val;
 
        ret = gc2235_read_reg(client, GC2235_8BIT,
                                        GC2235_SH_DELAY_H, ®_val_h);
        h_ratio = (res->height << 13) / h;
        if (h_ratio == 0)
                return -1;
-       match   = abs(((w_ratio << 13) / h_ratio) - ((int)8192));
+       match   = abs(((w_ratio << 13) / h_ratio) - 8192);
 
-       if ((w_ratio < (int)8192) || (h_ratio < (int)8192)  ||
+       if ((w_ratio < 8192) || (h_ratio < 8192)  ||
                (match > LARGEST_ALLOWED_RATIO_MISMATCH))
                return -1;
 
        }
        ret = gc2235_read_reg(client, GC2235_8BIT,
                                        GC2235_SENSOR_ID_L, &low);
-       id = ((((u16) high) << 8) | (u16) low);
+       id = ((high << 8) | low);
 
        if (id != GC2235_ID) {
                dev_err(&client->dev, "sensor ID error, 0x%x\n", id);
 
        h_ratio = (res->height << 13) / h;
        if (h_ratio == 0)
                return -1;
-       match   = abs(((w_ratio << 13) / h_ratio) - ((int)8192));
+       match   = abs(((w_ratio << 13) / h_ratio) - 8192);
 
-       if ((w_ratio < (int)8192) || (h_ratio < (int)8192)  ||
+       if ((w_ratio < 8192) || (h_ratio < 8192)  ||
                (match > LARGEST_ALLOWED_RATIO_MISMATCH))
                return -1;
 
 
        h_ratio = (res->height << 13) / h;
        if (h_ratio == 0)
                return -1;
-       match   = abs(((w_ratio << 13) / h_ratio) - ((int)8192));
+       match   = abs(((w_ratio << 13) / h_ratio) - 8192);
 
-       if ((w_ratio < (int)8192) || (h_ratio < (int)8192)  ||
+       if ((w_ratio < 8192) || (h_ratio < 8192)  ||
                (match > LARGEST_ALLOWED_RATIO_MISMATCH))
                return -1;
 
        }
        ret = ov2722_read_reg(client, OV2722_8BIT,
                                        OV2722_SC_CMMN_CHIP_ID_L, &low);
-       id = ((((u16) high) << 8) | (u16) low);
+       id = (high << 8) | low;
 
        if ((id != OV2722_ID) && (id != OV2720_ID)) {
                dev_err(&client->dev, "sensor ID error\n");
 
                for (i = ISYS2401_DMA_CHANNEL_0; i < N_ISYS2401_DMA_CHANNEL; i++) {
                        if (bitop_getbit(cur_rsrc->active_table, i) == 0) {
                                bitop_setbit(cur_rsrc->active_table, i);
-                               *channel = (isys2401_dma_channel)i;
+                               *channel = i;
                                cur_rsrc->num_active++;
                                retval = true;
                                break;
 
        /* Special case: only one binary in fw */
        if (bi == NULL) bi = (const struct ia_css_fw_info *)fw;
 
-       name = (const char *)fw + bi->blob.prog_name_offset;
+       name = fw + bi->blob.prog_name_offset;
        blob = (const unsigned char *)fw + bi->blob.offset;
 
        /* sanity check */
        struct sh_css_fw_bi_file_h *file_header;
 
        firmware_header = (struct firmware_header *)fw_data;
-       file_header = (struct sh_css_fw_bi_file_h *)&firmware_header->file_header;
+       file_header = &firmware_header->file_header;
 
        if (strcmp(file_header->version, release_version) != 0) {
                return false;
        bool valid_firmware = false;
 
        firmware_header = (struct firmware_header *)fw_data;
-       file_header = (struct sh_css_fw_bi_file_h *)&firmware_header->file_header;
-       binaries = (struct ia_css_fw_info *)&firmware_header->binary_header;
+       file_header = &firmware_header->file_header;
+       binaries = &firmware_header->binary_header;
        strncpy(FW_rel_ver_name, file_header->version, min(sizeof(FW_rel_ver_name), sizeof(file_header->version)) - 1);
        valid_firmware = sh_css_check_firmware_version(fw_data);
        if (!valid_firmware) {
 
                vptr = hmm_bo_vmap(bo, true);
                if (vptr) {
                        vptr = vptr + (virt - bo->start);
-                       memset((void *)vptr, c, bytes);
+                       memset(vptr, c, bytes);
                        clflush_cache_range(vptr, bytes);
                        hmm_bo_vunmap(bo);
                        return 0;