V4L/DVB (12519): soc-camera: put pixel format initialisation back in probe, add .put_formats()
The move of format translation initialisation into soc_camera_open() was temporary for the soc-camera as platform driver intermediate step, put it back into soc_camera_probe(). Also add a .put_formats() method to soc_camera_host_ops to free any resources host driver might have allocated in .get_formats(). Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Šī revīzija ir iekļauta:

revīziju iesūtīja
Mauro Carvalho Chehab

vecāks
0d205b6a09
revīzija
fa48984e36
@@ -67,8 +67,15 @@ struct soc_camera_host_ops {
|
||||
void (*remove)(struct soc_camera_device *);
|
||||
int (*suspend)(struct soc_camera_device *, pm_message_t);
|
||||
int (*resume)(struct soc_camera_device *);
|
||||
/*
|
||||
* .get_formats() is called for each client device format, but
|
||||
* .put_formats() is only called once. Further, if any of the calls to
|
||||
* .get_formats() fail, .put_formats() will not be called at all, the
|
||||
* failing .get_formats() must then clean up internally.
|
||||
*/
|
||||
int (*get_formats)(struct soc_camera_device *, int,
|
||||
struct soc_camera_format_xlate *);
|
||||
void (*put_formats)(struct soc_camera_device *);
|
||||
int (*set_crop)(struct soc_camera_device *, struct v4l2_rect *);
|
||||
int (*set_fmt)(struct soc_camera_device *, struct v4l2_format *);
|
||||
int (*try_fmt)(struct soc_camera_device *, struct v4l2_format *);
|
||||
|
Atsaukties uz šo jaunā problēmā
Block a user