Hi Guennadi,

Thanks for the patch.

On Thursday 29 September 2011 10:18:31 Guennadi Liakhovetski wrote:
> Drivers, that can be built and work with and without
> CONFIG_VIDEO_V4L2_SUBDEV_API, need the v4l2_subdev_get_try_format() and
> v4l2_subdev_get_try_crop() functions, even though their return value
> should never be dereferenced. Also add convenience macros to init and
> clean up subdevice internal media entities.

Why don't you just make the drivers depend on CONFIG_VIDEO_V4L2_SUBDEV_API ? 
They don't need to actually export a device node to userspace, but they 
require the in-kernel API.

> Signed-off-by: Guennadi Liakhovetski <g.liakhovet...@gmx.de>
> ---
>  include/media/v4l2-subdev.h |   11 +++++++++++
>  1 files changed, 11 insertions(+), 0 deletions(-)
> 
> diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
> index f0f3358..4670506 100644
> --- a/include/media/v4l2-subdev.h
> +++ b/include/media/v4l2-subdev.h
> @@ -569,6 +569,9 @@ v4l2_subdev_get_try_crop(struct v4l2_subdev_fh *fh,
> unsigned int pad) {
>       return &fh->try_crop[pad];
>  }
> +#else
> +#define v4l2_subdev_get_try_format(arg...)   NULL
> +#define v4l2_subdev_get_try_crop(arg...)     NULL
>  #endif
> 
>  extern const struct v4l2_file_operations v4l2_subdev_fops;
> @@ -610,4 +613,12 @@ void v4l2_subdev_init(struct v4l2_subdev *sd,
>       ((!(sd) || !(sd)->v4l2_dev || !(sd)->v4l2_dev->notify) ? -ENODEV : \
>        (sd)->v4l2_dev->notify((sd), (notification), (arg)))
> 
> +#if defined(CONFIG_MEDIA_CONTROLLER)
> +#define subdev_media_entity_init(sd, n, p,
> e)    media_entity_init(&(sd)->entity, n, p, e) +#define
> subdev_media_entity_cleanup(sd)               
> media_entity_cleanup(&(sd)->entity)
> +#else
> +#define subdev_media_entity_init(sd, n, p, e)        0
> +#define subdev_media_entity_cleanup(sd)              do {} while (0)
> +#endif
> +
>  #endif

-- 
Regards,

Laurent Pinchart
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to