return ret;
 }
 
-static int rj54n1_sensor_scale(struct v4l2_subdev *sd, u32 *in_w, u32 *in_h,
-                              u32 *out_w, u32 *out_h);
+static int rj54n1_sensor_scale(struct v4l2_subdev *sd, s32 *in_w, s32 *in_h,
+                              s32 *out_w, s32 *out_h);
 
 static int rj54n1_s_crop(struct v4l2_subdev *sd, struct v4l2_crop *a)
 {
        struct i2c_client *client = sd->priv;
        struct rj54n1 *rj54n1 = to_rj54n1(client);
        struct v4l2_rect *rect = &a->c;
-       unsigned int dummy = 0, output_w, output_h,
+       int dummy = 0, output_w, output_h,
                input_w = rect->width, input_h = rect->height;
        int ret;
 
        output_w = (input_w * 1024 + rj54n1->resize / 2) / rj54n1->resize;
        output_h = (input_h * 1024 + rj54n1->resize / 2) / rj54n1->resize;
 
-       dev_dbg(&client->dev, "Scaling for %ux%u : %u = %ux%u\n",
+       dev_dbg(&client->dev, "Scaling for %dx%d : %u = %dx%d\n",
                input_w, input_h, rj54n1->resize, output_w, output_h);
 
        ret = rj54n1_sensor_scale(sd, &input_w, &input_h, &output_w, &output_h);
  * the output one, updates the window sizes and returns an error or the resize
  * coefficient on success. Note: we only use the "Fixed Scaling" on this camera.
  */
-static int rj54n1_sensor_scale(struct v4l2_subdev *sd, u32 *in_w, u32 *in_h,
-                              u32 *out_w, u32 *out_h)
+static int rj54n1_sensor_scale(struct v4l2_subdev *sd, s32 *in_w, s32 *in_h,
+                              s32 *out_w, s32 *out_h)
 {
        struct i2c_client *client = sd->priv;
        struct rj54n1 *rj54n1 = to_rj54n1(client);
         * improve the image quality or stability for larger frames (see comment
         * above), but I didn't check the framerate.
         */
-       skip = min(resize / 1024, (unsigned)15);
+       skip = min(resize / 1024, 15U);
 
        inc_sel = 1 << skip;
 
        *out_w = output_w;
        *out_h = output_h;
 
-       dev_dbg(&client->dev, "Scaled for %ux%u : %u = %ux%u, skip %u\n",
+       dev_dbg(&client->dev, "Scaled for %dx%d : %u = %ux%u, skip %u\n",
                *in_w, *in_h, resize, output_w, output_h, skip);
 
        return resize;
        struct i2c_client *client = sd->priv;
        struct rj54n1 *rj54n1 = to_rj54n1(client);
        const struct rj54n1_datafmt *fmt;
-       unsigned int output_w, output_h, max_w, max_h,
+       int output_w, output_h, max_w, max_h,
                input_w = rj54n1->rect.width, input_h = rj54n1->rect.height;
        int ret;
 
 
         */
        if (!memcmp(rect, cam_rect, sizeof(*rect))) {
                /* Even if camera S_CROP failed, but camera rectangle matches */
-               dev_dbg(dev, "Camera S_CROP successful for %ux%u@%u:%u\n",
+               dev_dbg(dev, "Camera S_CROP successful for %dx%d@%d:%d\n",
                        rect->width, rect->height, rect->left, rect->top);
                return 0;
        }
 
        /* Try to fix cropping, that camera hasn't managed to set */
-       dev_geo(dev, "Fix camera S_CROP for %ux%u@%u:%u to %ux%u@%u:%u\n",
+       dev_geo(dev, "Fix camera S_CROP for %dx%d@%d:%d to %dx%d@%d:%d\n",
                cam_rect->width, cam_rect->height,
                cam_rect->left, cam_rect->top,
                rect->width, rect->height, rect->left, rect->top);
 
                v4l2_subdev_call(sd, video, s_crop, cam_crop);
                ret = client_g_rect(sd, cam_rect);
-               dev_geo(dev, "Camera S_CROP %d for %ux%u@%u:%u\n", ret,
+               dev_geo(dev, "Camera S_CROP %d for %dx%d@%d:%d\n", ret,
                        cam_rect->width, cam_rect->height,
                        cam_rect->left, cam_rect->top);
        }
                *cam_rect = cap.bounds;
                v4l2_subdev_call(sd, video, s_crop, cam_crop);
                ret = client_g_rect(sd, cam_rect);
-               dev_geo(dev, "Camera S_CROP %d for max %ux%u@%u:%u\n", ret,
+               dev_geo(dev, "Camera S_CROP %d for max %dx%d@%d:%d\n", ret,
                        cam_rect->width, cam_rect->height,
                        cam_rect->left, cam_rect->top);
        }