V4L/DVB: v4l2-subdev.h: fix enum_mbus_fmt prototype
enum_mbus_fmt received an index argument that was defined as an int instead of an unsigned int. This is now fixed. This had the knock-on effect that the index argument in the callback get_formats in soc_camera.h also had to be changed to unsigned int. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
		
					parent
					
						
							
								cf69b808ca
							
						
					
				
			
			
				commit
				
					
						3805f20193
					
				
			
		
					 17 changed files with 28 additions and 27 deletions
				
			
		|  | @ -141,7 +141,7 @@ static int ak881x_s_mbus_fmt(struct v4l2_subdev *sd, | ||||||
| 	return ak881x_try_g_mbus_fmt(sd, mf); | 	return ak881x_try_g_mbus_fmt(sd, mf); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int ak881x_enum_mbus_fmt(struct v4l2_subdev *sd, int index, | static int ak881x_enum_mbus_fmt(struct v4l2_subdev *sd, unsigned int index, | ||||||
| 				enum v4l2_mbus_pixelcode *code) | 				enum v4l2_mbus_pixelcode *code) | ||||||
| { | { | ||||||
| 	if (index) | 	if (index) | ||||||
|  |  | ||||||
|  | @ -701,13 +701,13 @@ static struct v4l2_subdev_core_ops mt9m001_subdev_core_ops = { | ||||||
| #endif | #endif | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| static int mt9m001_enum_fmt(struct v4l2_subdev *sd, int index, | static int mt9m001_enum_fmt(struct v4l2_subdev *sd, unsigned int index, | ||||||
| 			    enum v4l2_mbus_pixelcode *code) | 			    enum v4l2_mbus_pixelcode *code) | ||||||
| { | { | ||||||
| 	struct i2c_client *client = sd->priv; | 	struct i2c_client *client = sd->priv; | ||||||
| 	struct mt9m001 *mt9m001 = to_mt9m001(client); | 	struct mt9m001 *mt9m001 = to_mt9m001(client); | ||||||
| 
 | 
 | ||||||
| 	if ((unsigned int)index >= mt9m001->num_fmts) | 	if (index >= mt9m001->num_fmts) | ||||||
| 		return -EINVAL; | 		return -EINVAL; | ||||||
| 
 | 
 | ||||||
| 	*code = mt9m001->fmts[index].code; | 	*code = mt9m001->fmts[index].code; | ||||||
|  |  | ||||||
|  | @ -999,10 +999,10 @@ static struct v4l2_subdev_core_ops mt9m111_subdev_core_ops = { | ||||||
| #endif | #endif | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| static int mt9m111_enum_fmt(struct v4l2_subdev *sd, int index, | static int mt9m111_enum_fmt(struct v4l2_subdev *sd, unsigned int index, | ||||||
| 			    enum v4l2_mbus_pixelcode *code) | 			    enum v4l2_mbus_pixelcode *code) | ||||||
| { | { | ||||||
| 	if ((unsigned int)index >= ARRAY_SIZE(mt9m111_colour_fmts)) | 	if (index >= ARRAY_SIZE(mt9m111_colour_fmts)) | ||||||
| 		return -EINVAL; | 		return -EINVAL; | ||||||
| 
 | 
 | ||||||
| 	*code = mt9m111_colour_fmts[index].code; | 	*code = mt9m111_colour_fmts[index].code; | ||||||
|  |  | ||||||
|  | @ -798,7 +798,7 @@ static struct v4l2_subdev_core_ops mt9t031_subdev_core_ops = { | ||||||
| #endif | #endif | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| static int mt9t031_enum_fmt(struct v4l2_subdev *sd, int index, | static int mt9t031_enum_fmt(struct v4l2_subdev *sd, unsigned int index, | ||||||
| 			    enum v4l2_mbus_pixelcode *code) | 			    enum v4l2_mbus_pixelcode *code) | ||||||
| { | { | ||||||
| 	if (index) | 	if (index) | ||||||
|  |  | ||||||
|  | @ -1017,10 +1017,10 @@ static int mt9t112_try_fmt(struct v4l2_subdev *sd, | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int mt9t112_enum_fmt(struct v4l2_subdev *sd, int index, | static int mt9t112_enum_fmt(struct v4l2_subdev *sd, unsigned int index, | ||||||
| 			   enum v4l2_mbus_pixelcode *code) | 			   enum v4l2_mbus_pixelcode *code) | ||||||
| { | { | ||||||
| 	if ((unsigned int)index >= ARRAY_SIZE(mt9t112_cfmts)) | 	if (index >= ARRAY_SIZE(mt9t112_cfmts)) | ||||||
| 		return -EINVAL; | 		return -EINVAL; | ||||||
| 
 | 
 | ||||||
| 	*code = mt9t112_cfmts[index].code; | 	*code = mt9t112_cfmts[index].code; | ||||||
|  |  | ||||||
|  | @ -838,13 +838,13 @@ static struct v4l2_subdev_core_ops mt9v022_subdev_core_ops = { | ||||||
| #endif | #endif | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| static int mt9v022_enum_fmt(struct v4l2_subdev *sd, int index, | static int mt9v022_enum_fmt(struct v4l2_subdev *sd, unsigned int index, | ||||||
| 			    enum v4l2_mbus_pixelcode *code) | 			    enum v4l2_mbus_pixelcode *code) | ||||||
| { | { | ||||||
| 	struct i2c_client *client = sd->priv; | 	struct i2c_client *client = sd->priv; | ||||||
| 	struct mt9v022 *mt9v022 = to_mt9v022(client); | 	struct mt9v022 *mt9v022 = to_mt9v022(client); | ||||||
| 
 | 
 | ||||||
| 	if ((unsigned int)index >= mt9v022->num_fmts) | 	if (index >= mt9v022->num_fmts) | ||||||
| 		return -EINVAL; | 		return -EINVAL; | ||||||
| 
 | 
 | ||||||
| 	*code = mt9v022->fmts[index].code; | 	*code = mt9v022->fmts[index].code; | ||||||
|  |  | ||||||
|  | @ -672,7 +672,7 @@ static bool mx3_camera_packing_supported(const struct soc_mbus_pixelfmt *fmt) | ||||||
| 		 fmt->packing == SOC_MBUS_PACKING_EXTEND16); | 		 fmt->packing == SOC_MBUS_PACKING_EXTEND16); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int mx3_camera_get_formats(struct soc_camera_device *icd, int idx, | static int mx3_camera_get_formats(struct soc_camera_device *icd, unsigned int idx, | ||||||
| 				  struct soc_camera_format_xlate *xlate) | 				  struct soc_camera_format_xlate *xlate) | ||||||
| { | { | ||||||
| 	struct v4l2_subdev *sd = soc_camera_to_subdev(icd); | 	struct v4l2_subdev *sd = soc_camera_to_subdev(icd); | ||||||
|  | @ -689,7 +689,7 @@ static int mx3_camera_get_formats(struct soc_camera_device *icd, int idx, | ||||||
| 	fmt = soc_mbus_get_fmtdesc(code); | 	fmt = soc_mbus_get_fmtdesc(code); | ||||||
| 	if (!fmt) { | 	if (!fmt) { | ||||||
| 		dev_err(icd->dev.parent, | 		dev_err(icd->dev.parent, | ||||||
| 			"Invalid format code #%d: %d\n", idx, code); | 			"Invalid format code #%u: %d\n", idx, code); | ||||||
| 		return 0; | 		return 0; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1092,10 +1092,10 @@ static struct v4l2_subdev_core_ops ov772x_subdev_core_ops = { | ||||||
| #endif | #endif | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| static int ov772x_enum_fmt(struct v4l2_subdev *sd, int index, | static int ov772x_enum_fmt(struct v4l2_subdev *sd, unsigned int index, | ||||||
| 			   enum v4l2_mbus_pixelcode *code) | 			   enum v4l2_mbus_pixelcode *code) | ||||||
| { | { | ||||||
| 	if ((unsigned int)index >= ARRAY_SIZE(ov772x_cfmts)) | 	if (index >= ARRAY_SIZE(ov772x_cfmts)) | ||||||
| 		return -EINVAL; | 		return -EINVAL; | ||||||
| 
 | 
 | ||||||
| 	*code = ov772x_cfmts[index].code; | 	*code = ov772x_cfmts[index].code; | ||||||
|  |  | ||||||
|  | @ -614,10 +614,10 @@ static int ov9640_try_fmt(struct v4l2_subdev *sd, | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int ov9640_enum_fmt(struct v4l2_subdev *sd, int index, | static int ov9640_enum_fmt(struct v4l2_subdev *sd, unsigned int index, | ||||||
| 			   enum v4l2_mbus_pixelcode *code) | 			   enum v4l2_mbus_pixelcode *code) | ||||||
| { | { | ||||||
| 	if ((unsigned int)index >= ARRAY_SIZE(ov9640_codes)) | 	if (index >= ARRAY_SIZE(ov9640_codes)) | ||||||
| 		return -EINVAL; | 		return -EINVAL; | ||||||
| 
 | 
 | ||||||
| 	*code = ov9640_codes[index]; | 	*code = ov9640_codes[index]; | ||||||
|  |  | ||||||
|  | @ -1247,7 +1247,7 @@ static bool pxa_camera_packing_supported(const struct soc_mbus_pixelfmt *fmt) | ||||||
| 		 fmt->packing == SOC_MBUS_PACKING_EXTEND16); | 		 fmt->packing == SOC_MBUS_PACKING_EXTEND16); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int pxa_camera_get_formats(struct soc_camera_device *icd, int idx, | static int pxa_camera_get_formats(struct soc_camera_device *icd, unsigned int idx, | ||||||
| 				  struct soc_camera_format_xlate *xlate) | 				  struct soc_camera_format_xlate *xlate) | ||||||
| { | { | ||||||
| 	struct v4l2_subdev *sd = soc_camera_to_subdev(icd); | 	struct v4l2_subdev *sd = soc_camera_to_subdev(icd); | ||||||
|  | @ -1264,7 +1264,7 @@ static int pxa_camera_get_formats(struct soc_camera_device *icd, int idx, | ||||||
| 
 | 
 | ||||||
| 	fmt = soc_mbus_get_fmtdesc(code); | 	fmt = soc_mbus_get_fmtdesc(code); | ||||||
| 	if (!fmt) { | 	if (!fmt) { | ||||||
| 		dev_err(dev, "Invalid format code #%d: %d\n", idx, code); | 		dev_err(dev, "Invalid format code #%u: %d\n", idx, code); | ||||||
| 		return 0; | 		return 0; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -481,10 +481,10 @@ static int reg_write_multiple(struct i2c_client *client, | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int rj54n1_enum_fmt(struct v4l2_subdev *sd, int index, | static int rj54n1_enum_fmt(struct v4l2_subdev *sd, unsigned int index, | ||||||
| 			   enum v4l2_mbus_pixelcode *code) | 			   enum v4l2_mbus_pixelcode *code) | ||||||
| { | { | ||||||
| 	if ((unsigned int)index >= ARRAY_SIZE(rj54n1_colour_fmts)) | 	if (index >= ARRAY_SIZE(rj54n1_colour_fmts)) | ||||||
| 		return -EINVAL; | 		return -EINVAL; | ||||||
| 
 | 
 | ||||||
| 	*code = rj54n1_colour_fmts[index].code; | 	*code = rj54n1_colour_fmts[index].code; | ||||||
|  |  | ||||||
|  | @ -878,7 +878,7 @@ static bool sh_mobile_ceu_packing_supported(const struct soc_mbus_pixelfmt *fmt) | ||||||
| 
 | 
 | ||||||
| static int client_g_rect(struct v4l2_subdev *sd, struct v4l2_rect *rect); | static int client_g_rect(struct v4l2_subdev *sd, struct v4l2_rect *rect); | ||||||
| 
 | 
 | ||||||
| static int sh_mobile_ceu_get_formats(struct soc_camera_device *icd, int idx, | static int sh_mobile_ceu_get_formats(struct soc_camera_device *icd, unsigned int idx, | ||||||
| 				     struct soc_camera_format_xlate *xlate) | 				     struct soc_camera_format_xlate *xlate) | ||||||
| { | { | ||||||
| 	struct v4l2_subdev *sd = soc_camera_to_subdev(icd); | 	struct v4l2_subdev *sd = soc_camera_to_subdev(icd); | ||||||
|  | @ -897,7 +897,7 @@ static int sh_mobile_ceu_get_formats(struct soc_camera_device *icd, int idx, | ||||||
| 	fmt = soc_mbus_get_fmtdesc(code); | 	fmt = soc_mbus_get_fmtdesc(code); | ||||||
| 	if (!fmt) { | 	if (!fmt) { | ||||||
| 		dev_err(icd->dev.parent, | 		dev_err(icd->dev.parent, | ||||||
| 			"Invalid format code #%d: %d\n", idx, code); | 			"Invalid format code #%u: %d\n", idx, code); | ||||||
| 		return -EINVAL; | 		return -EINVAL; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -200,7 +200,8 @@ static int soc_camera_init_user_formats(struct soc_camera_device *icd) | ||||||
| { | { | ||||||
| 	struct v4l2_subdev *sd = soc_camera_to_subdev(icd); | 	struct v4l2_subdev *sd = soc_camera_to_subdev(icd); | ||||||
| 	struct soc_camera_host *ici = to_soc_camera_host(icd->dev.parent); | 	struct soc_camera_host *ici = to_soc_camera_host(icd->dev.parent); | ||||||
| 	int i, fmts = 0, raw_fmts = 0, ret; | 	unsigned int i, fmts = 0, raw_fmts = 0; | ||||||
|  | 	int ret; | ||||||
| 	enum v4l2_mbus_pixelcode code; | 	enum v4l2_mbus_pixelcode code; | ||||||
| 
 | 
 | ||||||
| 	while (!v4l2_subdev_call(sd, video, enum_mbus_fmt, raw_fmts, &code)) | 	while (!v4l2_subdev_call(sd, video, enum_mbus_fmt, raw_fmts, &code)) | ||||||
|  |  | ||||||
|  | @ -71,7 +71,7 @@ static int soc_camera_platform_try_fmt(struct v4l2_subdev *sd, | ||||||
| 
 | 
 | ||||||
| static struct v4l2_subdev_core_ops platform_subdev_core_ops; | static struct v4l2_subdev_core_ops platform_subdev_core_ops; | ||||||
| 
 | 
 | ||||||
| static int soc_camera_platform_enum_fmt(struct v4l2_subdev *sd, int index, | static int soc_camera_platform_enum_fmt(struct v4l2_subdev *sd, unsigned int index, | ||||||
| 					enum v4l2_mbus_pixelcode *code) | 					enum v4l2_mbus_pixelcode *code) | ||||||
| { | { | ||||||
| 	struct soc_camera_platform_info *p = v4l2_get_subdevdata(sd); | 	struct soc_camera_platform_info *p = v4l2_get_subdevdata(sd); | ||||||
|  |  | ||||||
|  | @ -903,7 +903,7 @@ static struct v4l2_subdev_core_ops tw9910_subdev_core_ops = { | ||||||
| #endif | #endif | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| static int tw9910_enum_fmt(struct v4l2_subdev *sd, int index, | static int tw9910_enum_fmt(struct v4l2_subdev *sd, unsigned int index, | ||||||
| 			   enum v4l2_mbus_pixelcode *code) | 			   enum v4l2_mbus_pixelcode *code) | ||||||
| { | { | ||||||
| 	if (index) | 	if (index) | ||||||
|  |  | ||||||
|  | @ -66,7 +66,7 @@ struct soc_camera_host_ops { | ||||||
| 	 * .get_formats() fail, .put_formats() will not be called at all, the | 	 * .get_formats() fail, .put_formats() will not be called at all, the | ||||||
| 	 * failing .get_formats() must then clean up internally. | 	 * failing .get_formats() must then clean up internally. | ||||||
| 	 */ | 	 */ | ||||||
| 	int (*get_formats)(struct soc_camera_device *, int, | 	int (*get_formats)(struct soc_camera_device *, unsigned int, | ||||||
| 			   struct soc_camera_format_xlate *); | 			   struct soc_camera_format_xlate *); | ||||||
| 	void (*put_formats)(struct soc_camera_device *); | 	void (*put_formats)(struct soc_camera_device *); | ||||||
| 	int (*cropcap)(struct soc_camera_device *, struct v4l2_cropcap *); | 	int (*cropcap)(struct soc_camera_device *, struct v4l2_cropcap *); | ||||||
|  |  | ||||||
|  | @ -246,7 +246,7 @@ struct v4l2_subdev_video_ops { | ||||||
| 			struct v4l2_dv_timings *timings); | 			struct v4l2_dv_timings *timings); | ||||||
| 	int (*g_dv_timings)(struct v4l2_subdev *sd, | 	int (*g_dv_timings)(struct v4l2_subdev *sd, | ||||||
| 			struct v4l2_dv_timings *timings); | 			struct v4l2_dv_timings *timings); | ||||||
| 	int (*enum_mbus_fmt)(struct v4l2_subdev *sd, int index, | 	int (*enum_mbus_fmt)(struct v4l2_subdev *sd, unsigned int index, | ||||||
| 			     enum v4l2_mbus_pixelcode *code); | 			     enum v4l2_mbus_pixelcode *code); | ||||||
| 	int (*g_mbus_fmt)(struct v4l2_subdev *sd, | 	int (*g_mbus_fmt)(struct v4l2_subdev *sd, | ||||||
| 			  struct v4l2_mbus_framefmt *fmt); | 			  struct v4l2_mbus_framefmt *fmt); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Hans Verkuil
				Hans Verkuil