mirror of
https://github.com/torvalds/linux.git
synced 2024-11-13 23:51:39 +00:00
V4L/DVB: The first two parameters of soc_camera_limit_side() are usually pointers to struct v4l2_rect elements. They are signed, so adjust the prototype accordingly
This will remove the following sparse warning (see "make C=1"): * incorrect type in argument 1 (different signedness) expected unsigned int *start got signed int *<noident> as well as a couple more signedness mismatches. Signed-off-by: Márton Németh <nm127@freemail.hu> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
02512fe33e
commit
e26b314491
@ -325,7 +325,7 @@ static int mt9v022_s_crop(struct v4l2_subdev *sd, struct v4l2_crop *a)
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
dev_dbg(&client->dev, "Frame %ux%u pixel\n", rect.width, rect.height);
|
||||
dev_dbg(&client->dev, "Frame %dx%d pixel\n", rect.width, rect.height);
|
||||
|
||||
mt9v022->rect = rect;
|
||||
|
||||
|
@ -796,7 +796,7 @@ static int acquire_dma_channel(struct mx3_camera_dev *mx3_cam)
|
||||
* FIXME: learn to use stride != width, then we can keep stride properly aligned
|
||||
* and support arbitrary (even) widths.
|
||||
*/
|
||||
static inline void stride_align(__s32 *width)
|
||||
static inline void stride_align(__u32 *width)
|
||||
{
|
||||
if (((*width + 7) & ~7) < 4096)
|
||||
*width = (*width + 7) & ~7;
|
||||
@ -844,7 +844,7 @@ static int mx3_camera_set_crop(struct soc_camera_device *icd,
|
||||
* So far only direct camera-to-memory is supported
|
||||
*/
|
||||
if (channel_change_requested(icd, rect)) {
|
||||
int ret = acquire_dma_channel(mx3_cam);
|
||||
ret = acquire_dma_channel(mx3_cam);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
}
|
||||
|
@ -555,15 +555,15 @@ static int rj54n1_commit(struct i2c_client *client)
|
||||
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;
|
||||
|
||||
@ -577,7 +577,7 @@ static int rj54n1_s_crop(struct v4l2_subdev *sd, struct v4l2_crop *a)
|
||||
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);
|
||||
@ -638,8 +638,8 @@ static int rj54n1_g_fmt(struct v4l2_subdev *sd,
|
||||
* 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);
|
||||
@ -749,7 +749,7 @@ static int rj54n1_sensor_scale(struct v4l2_subdev *sd, u32 *in_w, u32 *in_h,
|
||||
* 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;
|
||||
|
||||
@ -819,7 +819,7 @@ static int rj54n1_sensor_scale(struct v4l2_subdev *sd, u32 *in_w, u32 *in_h,
|
||||
*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;
|
||||
@ -1017,7 +1017,7 @@ static int rj54n1_s_fmt(struct v4l2_subdev *sd,
|
||||
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;
|
||||
|
||||
|
@ -1041,13 +1041,13 @@ static int client_s_crop(struct v4l2_subdev *sd, struct v4l2_crop *crop,
|
||||
*/
|
||||
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);
|
||||
@ -1103,7 +1103,7 @@ static int client_s_crop(struct v4l2_subdev *sd, struct v4l2_crop *crop,
|
||||
|
||||
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);
|
||||
}
|
||||
@ -1117,7 +1117,7 @@ static int client_s_crop(struct v4l2_subdev *sd, struct v4l2_crop *crop,
|
||||
*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);
|
||||
}
|
||||
|
@ -266,8 +266,8 @@ static inline unsigned long soc_camera_bus_param_compatible(
|
||||
common_flags;
|
||||
}
|
||||
|
||||
static inline void soc_camera_limit_side(unsigned int *start,
|
||||
unsigned int *length, unsigned int start_min,
|
||||
static inline void soc_camera_limit_side(int *start, int *length,
|
||||
unsigned int start_min,
|
||||
unsigned int length_min, unsigned int length_max)
|
||||
{
|
||||
if (*length < length_min)
|
||||
|
Loading…
Reference in New Issue
Block a user