]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: i2c: mt9p031: Rewrite assignment to make smatch happy
authorRicardo Ribalda <ribalda@chromium.org>
Thu, 7 May 2026 20:58:07 +0000 (20:58 +0000)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Tue, 12 May 2026 07:39:02 +0000 (09:39 +0200)
The current code makes smatch a bit uncomfortable:
drivers/media/i2c/mt9p031.c:799 mt9p031_s_ctrl() warn: assigning (-1952) to unsigned variable 'data'

Probably because smatch is not clever enough (yet). Do a simple rewrite
to make sure that smatch understands what we are doing here.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/i2c/mt9p031.c

index ea5d43d925ffa8b05da6e428916994deb9d4dc6c..8dc57eeba6060d1dbaf49e511a7ba086c598495d 100644 (file)
@@ -796,7 +796,8 @@ static int mt9p031_s_ctrl(struct v4l2_ctrl *ctrl)
                        data = (1 << 6) | (ctrl->val >> 1);
                } else {
                        ctrl->val &= ~7;
-                       data = ((ctrl->val - 64) << 5) | (1 << 6) | 32;
+                       data = ((ctrl->val - 64) >> 3) & 0x7f;
+                       data = (data << 8) | (1 << 6) | 32;
                }
 
                return mt9p031_write(client, MT9P031_GLOBAL_GAIN, data);