]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: i2c: imx219: Simplify imx219_get_binning() function
authorJai Luthra <jai.luthra@ideasonboard.com>
Fri, 17 Oct 2025 08:13:50 +0000 (13:43 +0530)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Wed, 29 Oct 2025 13:07:01 +0000 (14:07 +0100)
In imx219_set_pad_format() there is now a constraint to enforce hbin ==
vbin. So, simplify the logic in imx219_get_binning() function by
removing dead code that handles the case where hbin != vbin.

Signed-off-by: Jai Luthra <jai.luthra@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Tested-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/i2c/imx219.c

index 300935b1ef2497050fe2808e4ceedda389a75b50..48efdcd2a8f96b678f9819223e0f9895fb4025ea 100644 (file)
@@ -409,24 +409,14 @@ static void imx219_get_binning(struct v4l2_subdev_state *state, u8 *bin_h,
        u32 hbin = crop->width / format->width;
        u32 vbin = crop->height / format->height;
 
-       *bin_h = IMX219_BINNING_NONE;
-       *bin_v = IMX219_BINNING_NONE;
-
-       /*
-        * Use analog binning only if both dimensions are binned, as it crops
-        * the other dimension.
-        */
        if (hbin == 2 && vbin == 2) {
                *bin_h = IMX219_BINNING_X2_ANALOG;
                *bin_v = IMX219_BINNING_X2_ANALOG;
-
-               return;
+       } else {
+               *bin_h = IMX219_BINNING_NONE;
+               *bin_v = IMX219_BINNING_NONE;
        }
 
-       if (hbin == 2)
-               *bin_h = IMX219_BINNING_X2;
-       if (vbin == 2)
-               *bin_v = IMX219_BINNING_X2;
 }
 
 static inline u32 imx219_get_rate_factor(struct v4l2_subdev_state *state)