From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Cc: "Linux Media Mailing List" <linux-media@vger.kernel.org>,
"Mauro Carvalho Chehab" <mchehab@infradead.org>,
"Kyungmin Park" <kyungmin.park@samsung.com>,
"Sylwester Nawrocki" <s.nawrocki@samsung.com>,
"Kukjin Kim" <kgene@kernel.org>,
"Krzysztof Kozlowski" <k.kozlowski@samsung.com>,
"Hyun Kwon" <hyun.kwon@xilinx.com>,
"Michal Simek" <michal.simek@xilinx.com>,
"Sören Brinkmann" <soren.brinkmann@xilinx.com>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Hans Verkuil" <hans.verkuil@cisco.com>,
"Prabhakar Lad" <prabhakar.csengg@gmail.com>,
"Lars-Peter Clausen" <lars@metafoo.de>,
"Markus Elfring" <elfring@users.sourceforge.net>,
"Sakari Ailus" <sakari.ailus@linux.intel.com>,
"Javier Martinez Canillas" <javier@osg.samsung.com>,
linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, linux-sh@vger.kernel.org,
devel@driverdev.osuosl.org
Subject: Re: [PATCH v8 32/55] [media] media: use macros to check for V4L2 subdev entities
Date: Sun, 06 Dec 2015 04:16:15 +0200 [thread overview]
Message-ID: <3216825.M3fFyKeUjZ@avalon> (raw)
In-Reply-To: <b94146f3b95e9adb08b11fffc896a9e747b2fa9c.1440902901.git.mchehab@osg.samsung.com>
Hi Mauro,
Thank you for the patch.
On Sunday 30 August 2015 00:06:43 Mauro Carvalho Chehab wrote:
> Instead of relying on media subtype, use the new macros to detect
> if an entity is a subdev or an A/V DMA entity.
>
> Please note that most drivers assume that there's just AV_DMA or
> V4L2 subdevs. This is not true anymore, as we've added MC support
> for DVB, and there are plans to add support for ALSA and FB/DRM
> too.
>
> Ok, on the current pipelines supported by those drivers, just V4L
> stuff are there, but, assuming that some day a pipeline that also
> works with other subsystems will ever added, it is better to add
> explicit checks for the AV_DMA stuff.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
>
> diff --git a/drivers/media/platform/exynos4-is/common.c
> b/drivers/media/platform/exynos4-is/common.c index
> 0eb34ecb8ee4..8c9a29e0e294 100644
> --- a/drivers/media/platform/exynos4-is/common.c
> +++ b/drivers/media/platform/exynos4-is/common.c
> @@ -22,8 +22,7 @@ struct v4l2_subdev *fimc_find_remote_sensor(struct
> media_entity *entity) while (pad->flags & MEDIA_PAD_FL_SINK) {
> /* source pad */
> pad = media_entity_remote_pad(pad);
> - if (pad == NULL ||
> - media_entity_type(pad->entity) != MEDIA_ENT_T_V4L2_SUBDEV)
> + if (!pad || !is_media_entity_v4l2_subdev(pad->entity))
> break;
>
> sd = media_entity_to_v4l2_subdev(pad->entity);
> diff --git a/drivers/media/platform/exynos4-is/fimc-capture.c
> b/drivers/media/platform/exynos4-is/fimc-capture.c index
> 0627a93b2f3b..e9810fee4c30 100644
> --- a/drivers/media/platform/exynos4-is/fimc-capture.c
> +++ b/drivers/media/platform/exynos4-is/fimc-capture.c
> @@ -1141,8 +1141,7 @@ static int fimc_pipeline_validate(struct fimc_dev
> *fimc) }
> }
>
> - if (src_pad == NULL ||
> - media_entity_type(src_pad->entity) != MEDIA_ENT_T_V4L2_SUBDEV)
> + if (!src_pad || !is_media_entity_v4l2_subdev(src_pad->entity))
> break;
>
> /* Don't call FIMC subdev operation to avoid nested locking */
> @@ -1397,7 +1396,7 @@ static int fimc_link_setup(struct media_entity
> *entity, struct fimc_vid_cap *vc = &fimc->vid_cap;
> struct v4l2_subdev *sensor;
>
> - if (media_entity_type(remote->entity) != MEDIA_ENT_T_V4L2_SUBDEV)
> + if (!is_media_entity_v4l2_subdev(remote->entity))
> return -EINVAL;
>
> if (WARN_ON(fimc == NULL))
> diff --git a/drivers/media/platform/exynos4-is/fimc-isp-video.c
> b/drivers/media/platform/exynos4-is/fimc-isp-video.c index
> 3d9ccbf5f10f..5fbaf5e39903 100644
> --- a/drivers/media/platform/exynos4-is/fimc-isp-video.c
> +++ b/drivers/media/platform/exynos4-is/fimc-isp-video.c
> @@ -467,8 +467,7 @@ static int isp_video_pipeline_validate(struct fimc_isp
> *isp)
>
> /* Retrieve format at the source pad */
> pad = media_entity_remote_pad(pad);
> - if (pad == NULL ||
> - media_entity_type(pad->entity) != MEDIA_ENT_T_V4L2_SUBDEV)
> + if (!pad || !is_media_entity_v4l2_subdev(pad->entity))
> break;
>
> sd = media_entity_to_v4l2_subdev(pad->entity);
> diff --git a/drivers/media/platform/exynos4-is/fimc-lite.c
> b/drivers/media/platform/exynos4-is/fimc-lite.c index
> b2607da4ad14..c2327147b360 100644
> --- a/drivers/media/platform/exynos4-is/fimc-lite.c
> +++ b/drivers/media/platform/exynos4-is/fimc-lite.c
> @@ -814,8 +814,7 @@ static int fimc_pipeline_validate(struct fimc_lite
> *fimc) }
> /* Retrieve format at the source pad */
> pad = media_entity_remote_pad(pad);
> - if (pad == NULL ||
> - media_entity_type(pad->entity) != MEDIA_ENT_T_V4L2_SUBDEV)
> + if (!pad || !is_media_entity_v4l2_subdev(pad->entity))
> break;
>
> sd = media_entity_to_v4l2_subdev(pad->entity);
> @@ -988,7 +987,6 @@ static int fimc_lite_link_setup(struct media_entity
> *entity, {
> struct v4l2_subdev *sd = media_entity_to_v4l2_subdev(entity);
> struct fimc_lite *fimc = v4l2_get_subdevdata(sd);
> - unsigned int remote_ent_type = media_entity_type(remote->entity);
> int ret = 0;
>
> if (WARN_ON(fimc == NULL))
> @@ -1000,7 +998,7 @@ static int fimc_lite_link_setup(struct media_entity
> *entity,
>
> switch (local->index) {
> case FLITE_SD_PAD_SINK:
> - if (remote_ent_type != MEDIA_ENT_T_V4L2_SUBDEV) {
> + if (!is_media_entity_v4l2_subdev(remote->entity)) {
> ret = -EINVAL;
> break;
> }
> @@ -1018,7 +1016,7 @@ static int fimc_lite_link_setup(struct media_entity
> *entity, case FLITE_SD_PAD_SOURCE_DMA:
> if (!(flags & MEDIA_LNK_FL_ENABLED))
> atomic_set(&fimc->out_path, FIMC_IO_NONE);
> - else if (remote_ent_type == MEDIA_ENT_T_DEVNODE)
> + else if (is_media_entity_v4l2_io(remote->entity))
> atomic_set(&fimc->out_path, FIMC_IO_DMA);
> else
> ret = -EINVAL;
> @@ -1027,7 +1025,7 @@ static int fimc_lite_link_setup(struct media_entity
> *entity, case FLITE_SD_PAD_SOURCE_ISP:
> if (!(flags & MEDIA_LNK_FL_ENABLED))
> atomic_set(&fimc->out_path, FIMC_IO_NONE);
> - else if (remote_ent_type == MEDIA_ENT_T_V4L2_SUBDEV)
> + else if (is_media_entity_v4l2_subdev(remote->entity))
> atomic_set(&fimc->out_path, FIMC_IO_ISP);
> else
> ret = -EINVAL;
> diff --git a/drivers/media/platform/exynos4-is/media-dev.c
> b/drivers/media/platform/exynos4-is/media-dev.c index
> 92dbade2fffc..4a25df9dd869 100644
> --- a/drivers/media/platform/exynos4-is/media-dev.c
> +++ b/drivers/media/platform/exynos4-is/media-dev.c
> @@ -88,8 +88,7 @@ static void fimc_pipeline_prepare(struct fimc_pipeline *p,
> break;
> }
>
> - if (pad == NULL ||
> - media_entity_type(pad->entity) != MEDIA_ENT_T_V4L2_SUBDEV)
> + if (!pad || !is_media_entity_v4l2_subdev(pad->entity))
> break;
> sd = media_entity_to_v4l2_subdev(pad->entity);
>
> @@ -1062,7 +1061,7 @@ static int __fimc_md_modify_pipelines(struct
> media_entity *entity, bool enable) media_entity_graph_walk_start(&graph,
> entity);
>
> while ((entity = media_entity_graph_walk_next(&graph))) {
> - if (media_entity_type(entity) != MEDIA_ENT_T_DEVNODE)
> + if (!is_media_entity_v4l2_io(entity))
> continue;
>
> ret = __fimc_md_modify_pipeline(entity, enable);
> @@ -1076,7 +1075,7 @@ static int __fimc_md_modify_pipelines(struct
> media_entity *entity, bool enable) media_entity_graph_walk_start(&graph,
> entity_err);
>
> while ((entity_err = media_entity_graph_walk_next(&graph))) {
> - if (media_entity_type(entity_err) != MEDIA_ENT_T_DEVNODE)
> + if (!is_media_entity_v4l2_io(entity_err))
> continue;
>
> __fimc_md_modify_pipeline(entity_err, !enable);
> diff --git a/drivers/media/platform/omap3isp/isp.c
> b/drivers/media/platform/omap3isp/isp.c index 69e7733d36cd..cb8ac90086c1
> 100644
> --- a/drivers/media/platform/omap3isp/isp.c
> +++ b/drivers/media/platform/omap3isp/isp.c
> @@ -691,7 +691,7 @@ static int isp_pipeline_pm_use_count(struct media_entity
> *entity) media_entity_graph_walk_start(&graph, entity);
>
> while ((entity = media_entity_graph_walk_next(&graph))) {
> - if (media_entity_type(entity) == MEDIA_ENT_T_DEVNODE)
> + if (is_media_entity_v4l2_io(entity))
> use += entity->use_count;
> }
>
> @@ -714,7 +714,7 @@ static int isp_pipeline_pm_power_one(struct media_entity
> *entity, int change) struct v4l2_subdev *subdev;
> int ret;
>
> - subdev = media_entity_type(entity) == MEDIA_ENT_T_V4L2_SUBDEV
> + subdev = is_media_entity_v4l2_subdev(entity)
> ? media_entity_to_v4l2_subdev(entity) : NULL;
>
> if (entity->use_count == 0 && change > 0 && subdev != NULL) {
> @@ -754,7 +754,7 @@ static int isp_pipeline_pm_power(struct media_entity
> *entity, int change) media_entity_graph_walk_start(&graph, entity);
>
> while (!ret && (entity = media_entity_graph_walk_next(&graph)))
> - if (media_entity_type(entity) != MEDIA_ENT_T_DEVNODE)
> + if (is_media_entity_v4l2_subdev(entity))
> ret = isp_pipeline_pm_power_one(entity, change);
>
> if (!ret)
> @@ -764,7 +764,7 @@ static int isp_pipeline_pm_power(struct media_entity
> *entity, int change)
>
> while ((first = media_entity_graph_walk_next(&graph))
> && first != entity)
> - if (media_entity_type(first) != MEDIA_ENT_T_DEVNODE)
> + if (is_media_entity_v4l2_subdev(first))
> isp_pipeline_pm_power_one(first, -change);
>
> return ret;
> @@ -897,8 +897,7 @@ static int isp_pipeline_enable(struct isp_pipeline
> *pipe, break;
>
> pad = media_entity_remote_pad(pad);
> - if (pad == NULL ||
> - media_entity_type(pad->entity) != MEDIA_ENT_T_V4L2_SUBDEV)
> + if (!pad || !is_media_entity_v4l2_subdev(pad->entity))
> break;
>
> entity = pad->entity;
> @@ -988,8 +987,7 @@ static int isp_pipeline_disable(struct isp_pipeline
> *pipe) break;
>
> pad = media_entity_remote_pad(pad);
> - if (pad == NULL ||
> - media_entity_type(pad->entity) != MEDIA_ENT_T_V4L2_SUBDEV)
> + if (!pad || !is_media_entity_v4l2_subdev(pad->entity))
> break;
>
> entity = pad->entity;
> diff --git a/drivers/media/platform/omap3isp/ispvideo.c
> b/drivers/media/platform/omap3isp/ispvideo.c index
> 4c367352b1f7..52843ac2a9ca 100644
> --- a/drivers/media/platform/omap3isp/ispvideo.c
> +++ b/drivers/media/platform/omap3isp/ispvideo.c
> @@ -210,8 +210,7 @@ isp_video_remote_subdev(struct isp_video *video, u32
> *pad)
>
> remote = media_entity_remote_pad(&video->pad);
>
> - if (remote == NULL ||
> - media_entity_type(remote->entity) != MEDIA_ENT_T_V4L2_SUBDEV)
> + if (!remote || !is_media_entity_v4l2_subdev(remote->entity))
> return NULL;
>
> if (pad)
> @@ -243,7 +242,7 @@ static int isp_video_get_graph_data(struct isp_video
> *video, if (entity == &video->video.entity)
> continue;
>
> - if (media_entity_type(entity) != MEDIA_ENT_T_DEVNODE)
> + if (!is_media_entity_v4l2_io(entity))
> continue;
>
> __video = to_isp_video(media_entity_to_video_device(entity));
> @@ -917,7 +916,7 @@ static int isp_video_check_external_subdevs(struct
> isp_video *video, return -EINVAL;
> }
>
> - if (media_entity_type(source) != MEDIA_ENT_T_V4L2_SUBDEV)
> + if (!is_media_entity_v4l2_subdev(source))
> return 0;
>
> pipe->external = media_entity_to_v4l2_subdev(source);
> diff --git a/drivers/media/platform/s3c-camif/camif-capture.c
> b/drivers/media/platform/s3c-camif/camif-capture.c index
> eae667eab1b9..fb5b016cc0a1 100644
> --- a/drivers/media/platform/s3c-camif/camif-capture.c
> +++ b/drivers/media/platform/s3c-camif/camif-capture.c
> @@ -837,7 +837,7 @@ static int camif_pipeline_validate(struct camif_dev
> *camif)
>
> /* Retrieve format at the sensor subdev source pad */
> pad = media_entity_remote_pad(&camif->pads[0]);
> - if (!pad || media_entity_type(pad->entity) != MEDIA_ENT_T_V4L2_SUBDEV)
> + if (!pad || !is_media_entity_v4l2_subdev(pad->entity))
> return -EPIPE;
>
> src_fmt.pad = pad->index;
> diff --git a/drivers/media/platform/vsp1/vsp1_video.c
> b/drivers/media/platform/vsp1/vsp1_video.c index 1f94c1a54e00..f74158224b93
> 100644
> --- a/drivers/media/platform/vsp1/vsp1_video.c
> +++ b/drivers/media/platform/vsp1/vsp1_video.c
> @@ -160,8 +160,7 @@ vsp1_video_remote_subdev(struct media_pad *local, u32
> *pad) struct media_pad *remote;
>
> remote = media_entity_remote_pad(local);
> - if (remote == NULL ||
> - media_entity_type(remote->entity) != MEDIA_ENT_T_V4L2_SUBDEV)
> + if (!remote || !is_media_entity_v4l2_subdev(remote->entity))
> return NULL;
>
> if (pad)
> @@ -326,7 +325,7 @@ static int vsp1_pipeline_validate_branch(struct
> vsp1_pipeline *pipe, return -EPIPE;
>
> /* We've reached a video node, that shouldn't have happened. */
> - if (media_entity_type(pad->entity) != MEDIA_ENT_T_V4L2_SUBDEV)
> + if (!is_media_entity_v4l2_subdev(pad->entity))
> return -EPIPE;
>
> entity = to_vsp1_entity(media_entity_to_v4l2_subdev(pad->entity));
> @@ -423,7 +422,7 @@ static int vsp1_pipeline_validate(struct vsp1_pipeline
> *pipe, struct vsp1_rwpf *rwpf;
> struct vsp1_entity *e;
>
> - if (media_entity_type(entity) != MEDIA_ENT_T_V4L2_SUBDEV) {
> + if (is_media_entity_v4l2_io(entity)) {
> pipe->num_video++;
> continue;
> }
> @@ -692,7 +691,7 @@ void vsp1_pipeline_propagate_alpha(struct vsp1_pipeline
> *pipe, pad = media_entity_remote_pad(&input->pads[RWPF_PAD_SOURCE]);
>
> while (pad) {
> - if (media_entity_type(pad->entity) != MEDIA_ENT_T_V4L2_SUBDEV)
> + if (!is_media_entity_v4l2_subdev(pad->entity))
> break;
>
> entity = to_vsp1_entity(media_entity_to_v4l2_subdev(pad->entity));
> diff --git a/drivers/media/platform/xilinx/xilinx-dma.c
> b/drivers/media/platform/xilinx/xilinx-dma.c index
> 88cd789cdaf7..8e14841bf445 100644
> --- a/drivers/media/platform/xilinx/xilinx-dma.c
> +++ b/drivers/media/platform/xilinx/xilinx-dma.c
> @@ -49,8 +49,7 @@ xvip_dma_remote_subdev(struct media_pad *local, u32 *pad)
> struct media_pad *remote;
>
> remote = media_entity_remote_pad(local);
> - if (remote == NULL ||
> - media_entity_type(remote->entity) != MEDIA_ENT_T_V4L2_SUBDEV)
> + if (!remote || !is_media_entity_v4l2_subdev(remote->entity))
> return NULL;
>
> if (pad)
> @@ -113,8 +112,7 @@ static int xvip_pipeline_start_stop(struct xvip_pipeline
> *pipe, bool start) break;
>
> pad = media_entity_remote_pad(pad);
> - if (pad == NULL ||
> - media_entity_type(pad->entity) != MEDIA_ENT_T_V4L2_SUBDEV)
> + if (!pad || !is_media_entity_v4l2_subdev(pad->entity))
> break;
>
> entity = pad->entity;
> diff --git a/drivers/media/v4l2-core/v4l2-subdev.c
> b/drivers/media/v4l2-core/v4l2-subdev.c index e6e1115d8215..60da43772de9
> 100644
> --- a/drivers/media/v4l2-core/v4l2-subdev.c
> +++ b/drivers/media/v4l2-core/v4l2-subdev.c
> @@ -526,7 +526,7 @@ static int
> v4l2_subdev_link_validate_get_format(struct media_pad *pad,
> struct v4l2_subdev_format *fmt)
> {
> - if (media_entity_type(pad->entity) == MEDIA_ENT_T_V4L2_SUBDEV) {
> + if (is_media_entity_v4l2_subdev(pad->entity)) {
> struct v4l2_subdev *sd =
> media_entity_to_v4l2_subdev(pad->entity);
>
> diff --git a/drivers/staging/media/davinci_vpfe/vpfe_video.c
> b/drivers/staging/media/davinci_vpfe/vpfe_video.c index
> 92573fa852a9..16763e0831f2 100644
> --- a/drivers/staging/media/davinci_vpfe/vpfe_video.c
> +++ b/drivers/staging/media/davinci_vpfe/vpfe_video.c
> @@ -148,7 +148,7 @@ static void vpfe_prepare_pipeline(struct
> vpfe_video_device *video) while ((entity =
> media_entity_graph_walk_next(&graph))) {
> if (entity == &video->video_dev.entity)
> continue;
> - if (media_entity_type(entity) != MEDIA_ENT_T_DEVNODE)
> + if ((!is_media_entity_v4l2_io(remote->entity))
> continue;
> far_end = to_vpfe_video(media_entity_to_video_device(entity));
> if (far_end->type == V4L2_BUF_TYPE_VIDEO_OUTPUT)
> @@ -293,7 +293,7 @@ static int vpfe_pipeline_enable(struct vpfe_pipeline
> *pipe) media_entity_graph_walk_start(&graph, entity);
> while ((entity = media_entity_graph_walk_next(&graph))) {
>
> - if (media_entity_type(entity) == MEDIA_ENT_T_DEVNODE)
> + if !is_media_entity_v4l2_subdev(entity))
With these two chunks fixed,
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
I'm wondering, however, why you replace some occurrences of ==
MEDIA_ENT_T_DEVNODE with !is_media_entity_v4l2_subdev and some other with
is_media_entity_v4l2_io.
> continue;
> subdev = media_entity_to_v4l2_subdev(entity);
> ret = v4l2_subdev_call(subdev, video, s_stream, 1);
> @@ -334,7 +334,7 @@ static int vpfe_pipeline_disable(struct vpfe_pipeline
> *pipe)
>
> while ((entity = media_entity_graph_walk_next(&graph))) {
>
> - if (media_entity_type(entity) == MEDIA_ENT_T_DEVNODE)
> + if (!is_media_entity_v4l2_subdev(entity))
> continue;
> subdev = media_entity_to_v4l2_subdev(entity);
> ret = v4l2_subdev_call(subdev, video, s_stream, 0);
> diff --git a/drivers/staging/media/omap4iss/iss.c
> b/drivers/staging/media/omap4iss/iss.c index 40591963b42b..44b88ff3ba83
> 100644
> --- a/drivers/staging/media/omap4iss/iss.c
> +++ b/drivers/staging/media/omap4iss/iss.c
> @@ -397,7 +397,7 @@ static int iss_pipeline_pm_use_count(struct media_entity
> *entity) media_entity_graph_walk_start(&graph, entity);
>
> while ((entity = media_entity_graph_walk_next(&graph))) {
> - if (media_entity_type(entity) == MEDIA_ENT_T_DEVNODE)
> + if (is_media_entity_v4l2_io(entity))
> use += entity->use_count;
> }
>
> @@ -419,7 +419,7 @@ static int iss_pipeline_pm_power_one(struct media_entity
> *entity, int change) {
> struct v4l2_subdev *subdev;
>
> - subdev = media_entity_type(entity) == MEDIA_ENT_T_V4L2_SUBDEV
> + subdev = is_media_entity_v4l2_subdev(entity)
> ? media_entity_to_v4l2_subdev(entity) : NULL;
>
> if (entity->use_count == 0 && change > 0 && subdev != NULL) {
> @@ -461,7 +461,7 @@ static int iss_pipeline_pm_power(struct media_entity
> *entity, int change) media_entity_graph_walk_start(&graph, entity);
>
> while (!ret && (entity = media_entity_graph_walk_next(&graph)))
> - if (media_entity_type(entity) != MEDIA_ENT_T_DEVNODE)
> + if (is_media_entity_v4l2_subdev(entity))
> ret = iss_pipeline_pm_power_one(entity, change);
>
> if (!ret)
> @@ -471,7 +471,7 @@ static int iss_pipeline_pm_power(struct media_entity
> *entity, int change)
>
> while ((first = media_entity_graph_walk_next(&graph))
> && first != entity)
> - if (media_entity_type(first) != MEDIA_ENT_T_DEVNODE)
> + if (is_media_entity_v4l2_subdev(first))
> iss_pipeline_pm_power_one(first, -change);
>
> return ret;
> @@ -590,8 +590,7 @@ static int iss_pipeline_disable(struct iss_pipeline
> *pipe, break;
>
> pad = media_entity_remote_pad(pad);
> - if (pad == NULL ||
> - media_entity_type(pad->entity) != MEDIA_ENT_T_V4L2_SUBDEV)
> + if (!pad || !is_media_entity_v4l2_subdev(pad->entity))
> break;
>
> entity = pad->entity;
> @@ -658,8 +657,7 @@ static int iss_pipeline_enable(struct iss_pipeline
> *pipe, break;
>
> pad = media_entity_remote_pad(pad);
> - if (pad == NULL ||
> - media_entity_type(pad->entity) != MEDIA_ENT_T_V4L2_SUBDEV)
> + if (!pad || !is_media_entity_v4l2_subdev(pad->entity))
> break;
>
> entity = pad->entity;
> diff --git a/drivers/staging/media/omap4iss/iss_video.c
> b/drivers/staging/media/omap4iss/iss_video.c index
> 45a3f2d778fc..cbe5783735dc 100644
> --- a/drivers/staging/media/omap4iss/iss_video.c
> +++ b/drivers/staging/media/omap4iss/iss_video.c
> @@ -191,8 +191,7 @@ iss_video_remote_subdev(struct iss_video *video, u32
> *pad)
>
> remote = media_entity_remote_pad(&video->pad);
>
> - if (remote == NULL ||
> - media_entity_type(remote->entity) != MEDIA_ENT_T_V4L2_SUBDEV)
> + if (!remote || !is_media_entity_v4l2_subdev(remote->entity))
> return NULL;
>
> if (pad)
> @@ -217,7 +216,7 @@ iss_video_far_end(struct iss_video *video)
> if (entity == &video->video.entity)
> continue;
>
> - if (media_entity_type(entity) != MEDIA_ENT_T_DEVNODE)
> + if (!is_media_entity_v4l2_io(entity))
> continue;
>
> far_end = to_iss_video(media_entity_to_video_device(entity));
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2015-12-06 2:16 UTC|newest]
Thread overview: 247+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-30 3:06 [PATCH v8 00/55] MC next generation patches Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 01/55] [media] media: create a macro to get entity ID Mauro Carvalho Chehab
2015-09-10 13:58 ` Javier Martinez Canillas
2015-12-06 3:20 ` Laurent Pinchart
2015-08-30 3:06 ` [PATCH v8 02/55] [media] staging: omap4iss: get entity ID using media_entity_id() Mauro Carvalho Chehab
2015-12-06 3:18 ` Laurent Pinchart
2015-12-07 15:24 ` Javier Martinez Canillas
2015-08-30 3:06 ` [PATCH v8 03/55] [media] omap3isp: " Mauro Carvalho Chehab
2015-08-31 10:10 ` Hans Verkuil
2015-12-06 3:16 ` Laurent Pinchart
2015-12-07 15:22 ` Javier Martinez Canillas
2015-08-30 3:06 ` [PATCH v8 04/55] [media] media: add a common struct to be embed on media graph objects Mauro Carvalho Chehab
2015-09-09 7:01 ` Sakari Ailus
2015-09-09 11:10 ` Mauro Carvalho Chehab
2015-09-10 14:02 ` Javier Martinez Canillas
2015-08-30 3:06 ` [PATCH v8 05/55] [media] media: use media_gobj inside entities Mauro Carvalho Chehab
2015-09-10 14:04 ` Javier Martinez Canillas
2015-08-30 3:06 ` [PATCH v8 06/55] [media] media: use media_gobj inside pads Mauro Carvalho Chehab
2015-09-09 7:37 ` Sakari Ailus
2015-09-10 14:09 ` Javier Martinez Canillas
2015-08-30 3:06 ` [PATCH v8 07/55] [media] media: use media_gobj inside links Mauro Carvalho Chehab
2015-09-10 14:10 ` Javier Martinez Canillas
2015-08-30 3:06 ` [PATCH v8 08/55] [media] media: add messages when media device gets (un)registered Mauro Carvalho Chehab
2015-09-10 14:12 ` Javier Martinez Canillas
2015-08-30 3:06 ` [PATCH v8 09/55] [media] media: add a debug message to warn about gobj creation/removal Mauro Carvalho Chehab
2015-09-10 14:14 ` Javier Martinez Canillas
2015-08-30 3:06 ` [PATCH v8 10/55] [media] media: rename the function that create pad links Mauro Carvalho Chehab
2015-09-10 14:16 ` Javier Martinez Canillas
2015-08-30 3:06 ` [PATCH v8 11/55] [media] media: use entity.graph_obj.mdev instead of .parent Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 12/55] [media] media: remove media entity .parent field Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 13/55] [media] uapi/media.h: Declare interface types for V4L2 and DVB Mauro Carvalho Chehab
2015-09-10 14:19 ` Javier Martinez Canillas
2015-08-30 3:06 ` [PATCH v8 14/55] [media] media: add functions to allow creating interfaces Mauro Carvalho Chehab
2015-08-31 10:20 ` Hans Verkuil
2015-08-31 10:49 ` Mauro Carvalho Chehab
2015-09-06 12:02 ` Mauro Carvalho Chehab
2015-09-09 7:34 ` Sakari Ailus
2015-09-09 10:00 ` Mauro Carvalho Chehab
2015-09-10 14:22 ` Javier Martinez Canillas
2015-09-11 12:57 ` Hans Verkuil
2015-12-08 14:36 ` Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 15/55] [media] uapi/media.h: Declare interface types for ALSA Mauro Carvalho Chehab
2015-09-06 12:02 ` Mauro Carvalho Chehab
2015-09-10 14:23 ` Javier Martinez Canillas
2015-08-30 3:06 ` [PATCH v8 16/55] [media] media: Don't accept early-created links Mauro Carvalho Chehab
2015-08-31 10:30 ` Hans Verkuil
2015-08-31 10:54 ` Mauro Carvalho Chehab
2015-08-31 11:01 ` Hans Verkuil
2015-08-31 14:39 ` Javier Martinez Canillas
2015-08-31 15:05 ` Mauro Carvalho Chehab
2015-09-06 12:02 ` Mauro Carvalho Chehab
2015-12-06 3:13 ` Laurent Pinchart
2015-08-30 3:06 ` [PATCH v8 17/55] [media] omap3isp: separate links creation from entities init Mauro Carvalho Chehab
2015-11-23 15:55 ` Laurent Pinchart
2015-11-23 16:22 ` Javier Martinez Canillas
2015-08-30 3:06 ` [PATCH v8 18/55] [media] omap3isp: create links after all subdevs have been bound Mauro Carvalho Chehab
2015-09-09 8:03 ` Sakari Ailus
2015-09-09 8:48 ` Javier Martinez Canillas
2015-12-06 3:05 ` Laurent Pinchart
2015-12-07 15:17 ` Javier Martinez Canillas
2015-09-09 10:28 ` Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 19/55] [media] media: convert links from array to list Mauro Carvalho Chehab
2015-09-04 8:41 ` Sakari Ailus
2015-09-04 9:00 ` Hans Verkuil
2015-09-04 11:10 ` Mauro Carvalho Chehab
2015-09-04 11:28 ` [PATCH v8.1 " Mauro Carvalho Chehab
2015-09-04 11:48 ` [PATCH v8.2 " Mauro Carvalho Chehab
2015-09-06 12:02 ` Mauro Carvalho Chehab
2015-11-23 15:37 ` Laurent Pinchart
2015-11-23 15:41 ` Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 20/55] [media] media: make add link more generic Mauro Carvalho Chehab
2015-08-31 10:44 ` Hans Verkuil
2015-09-06 12:02 ` Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 21/55] [media] media: make media_link more generic to handle interace links Mauro Carvalho Chehab
2015-08-31 10:44 ` Hans Verkuil
2015-09-06 12:02 ` Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 22/55] [media] media: make link debug printk more generic Mauro Carvalho Chehab
2015-09-06 12:02 ` Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 23/55] [media] media: add support to link interfaces and entities Mauro Carvalho Chehab
2015-08-31 10:48 ` Hans Verkuil
2015-09-06 12:02 ` Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 24/55] [media] media-entity: add a helper function to create interface Mauro Carvalho Chehab
2015-08-31 10:49 ` Hans Verkuil
2015-09-06 12:02 ` Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 25/55] [media] dvbdev: add support for interfaces Mauro Carvalho Chehab
2015-08-31 10:51 ` Hans Verkuil
2015-08-30 3:06 ` [PATCH v8 26/55] [media] media: add a linked list to track interfaces by mdev Mauro Carvalho Chehab
2015-08-31 10:52 ` Hans Verkuil
2015-09-06 12:02 ` Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 27/55] [media] dvbdev: add support for indirect interface links Mauro Carvalho Chehab
2015-08-31 10:54 ` Hans Verkuil
2015-09-06 12:02 ` Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 28/55] [media] uapi/media.h: Fix entity namespace Mauro Carvalho Chehab
2015-08-31 11:17 ` Hans Verkuil
2015-08-31 12:12 ` Mauro Carvalho Chehab
2015-09-06 12:02 ` Mauro Carvalho Chehab
2015-09-11 13:06 ` Hans Verkuil
2015-08-30 3:06 ` [PATCH v8 29/55] [media] replace all occurrences of MEDIA_ENT_T_DEVNODE_V4L Mauro Carvalho Chehab
2015-08-31 11:22 ` Hans Verkuil
2015-08-30 3:06 ` [PATCH v8 30/55] [media] replace all occurrences of MEDIA_ENT_T_DEVNODE_DVB Mauro Carvalho Chehab
2015-08-31 11:21 ` Hans Verkuil
2015-08-30 3:06 ` [PATCH v8 31/55] [media] media: add macros to check if subdev or V4L2 DMA Mauro Carvalho Chehab
2015-08-31 11:31 ` Hans Verkuil
2015-08-31 11:40 ` Hans Verkuil
2015-08-31 13:08 ` Mauro Carvalho Chehab
2015-08-31 13:46 ` Hans Verkuil
2015-09-06 12:02 ` Mauro Carvalho Chehab
2015-12-06 2:20 ` Laurent Pinchart
2015-12-08 15:41 ` Mauro Carvalho Chehab
2016-02-16 0:34 ` Laurent Pinchart
2015-08-30 3:06 ` [PATCH v8 32/55] [media] media: use macros to check for V4L2 subdev entities Mauro Carvalho Chehab
2015-10-11 21:07 ` Sakari Ailus
2015-10-12 0:56 ` Mauro Carvalho Chehab
2015-10-12 15:35 ` Sakari Ailus
2015-10-12 16:00 ` Mauro Carvalho Chehab
2015-12-08 15:57 ` Mauro Carvalho Chehab
2015-12-08 17:05 ` Mauro Carvalho Chehab
2015-12-08 17:08 ` Mauro Carvalho Chehab
2015-10-12 15:38 ` [PATCH 1/1] media: Correctly determine whether an entity is a sub-device Sakari Ailus
2015-10-12 15:58 ` Mauro Carvalho Chehab
2015-12-06 2:16 ` Laurent Pinchart [this message]
2015-12-08 16:03 ` [PATCH v8 32/55] [media] media: use macros to check for V4L2 subdev entities Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 33/55] [media] omap3/omap4/davinci: get rid of MEDIA_ENT_T_V4L2_SUBDEV abuse Mauro Carvalho Chehab
2015-12-06 2:08 ` Laurent Pinchart
2015-12-08 16:52 ` Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 34/55] [media] s5c73m3: fix subdev type Mauro Carvalho Chehab
2015-12-06 1:57 ` Laurent Pinchart
2015-12-08 17:11 ` Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 35/55] [media] s5k5baf: " Mauro Carvalho Chehab
2015-12-06 1:55 ` Laurent Pinchart
2015-12-08 17:17 ` Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 36/55] [media] davinci_vbpe: stop MEDIA_ENT_T_V4L2_SUBDEV abuse Mauro Carvalho Chehab
2015-12-06 1:52 ` Laurent Pinchart
2015-12-08 17:22 ` Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 37/55] [media] omap4iss: " Mauro Carvalho Chehab
2015-12-06 1:46 ` Laurent Pinchart
2015-12-08 17:47 ` Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 38/55] [media] v4l2-subdev: use MEDIA_ENT_T_UNKNOWN for new subdevs Mauro Carvalho Chehab
2015-08-31 11:43 ` Hans Verkuil
2015-09-06 12:02 ` Mauro Carvalho Chehab
2015-12-06 1:37 ` Laurent Pinchart
2015-12-08 17:38 ` Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 39/55] [media] media controller: get rid of entity subtype on Kernel Mauro Carvalho Chehab
2015-08-31 11:44 ` Hans Verkuil
2015-09-06 12:02 ` Mauro Carvalho Chehab
2015-09-11 13:08 ` Hans Verkuil
2015-12-06 1:03 ` Laurent Pinchart
2015-08-30 3:06 ` [PATCH v8 40/55] [media] media.h: don't use legacy entity macros at Kernel Mauro Carvalho Chehab
2015-08-31 11:44 ` Hans Verkuil
2015-09-06 12:03 ` Mauro Carvalho Chehab
2015-12-06 1:02 ` Laurent Pinchart
2015-08-30 3:06 ` [PATCH v8 41/55] [media] DocBook: update descriptions for the media controller entities Mauro Carvalho Chehab
2015-08-31 11:22 ` Hans Verkuil
2015-09-06 12:03 ` Mauro Carvalho Chehab
2015-09-11 13:13 ` Hans Verkuil
2015-12-06 1:00 ` Laurent Pinchart
2015-12-08 18:04 ` Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 42/55] [media] dvb: modify core to implement interfaces/entities at MC new gen Mauro Carvalho Chehab
2015-08-31 11:49 ` Hans Verkuil
2015-09-06 12:03 ` Mauro Carvalho Chehab
2015-09-11 13:51 ` Hans Verkuil
2015-08-30 3:06 ` [PATCH v8 43/55] [media] media: report if a pad is sink or source at debug msg Mauro Carvalho Chehab
2015-08-31 11:51 ` Hans Verkuil
2015-09-06 12:03 ` Mauro Carvalho Chehab
2015-09-11 13:52 ` Hans Verkuil
2015-12-06 0:53 ` Laurent Pinchart
2015-12-08 18:46 ` Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 44/55] [media] uapi/media.h: Add MEDIA_IOC_G_TOPOLOGY ioctl Mauro Carvalho Chehab
2015-08-31 12:00 ` Hans Verkuil
2015-08-31 13:35 ` Mauro Carvalho Chehab
2015-09-06 12:03 ` Mauro Carvalho Chehab
2015-09-11 13:58 ` Hans Verkuil
2015-12-06 0:47 ` Laurent Pinchart
2015-12-08 19:23 ` Mauro Carvalho Chehab
2015-12-08 19:48 ` Arnd Bergmann
2015-08-30 3:06 ` [PATCH v8 45/55] [media] media: Use a macro to interate between all interfaces Mauro Carvalho Chehab
2015-08-31 12:01 ` Hans Verkuil
2015-09-06 12:03 ` Mauro Carvalho Chehab
2015-11-23 22:36 ` Laurent Pinchart
2015-08-30 3:06 ` [PATCH v8 46/55] [media] media: move mdev list init to gobj Mauro Carvalho Chehab
2015-08-31 12:03 ` Hans Verkuil
2015-09-06 12:03 ` Mauro Carvalho Chehab
2015-09-11 13:59 ` Hans Verkuil
2015-11-23 22:32 ` Laurent Pinchart
2015-12-08 19:31 ` Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 47/55] [media] media-device: add pads and links to media_device Mauro Carvalho Chehab
2015-08-31 12:25 ` Hans Verkuil
2015-09-06 12:03 ` Mauro Carvalho Chehab
2015-11-23 22:28 ` Laurent Pinchart
2015-11-24 12:19 ` Mauro Carvalho Chehab
2015-08-30 3:06 ` [PATCH v8 48/55] [media] media_device: add a topology version field Mauro Carvalho Chehab
2015-08-31 12:29 ` Hans Verkuil
2015-08-31 12:52 ` Mauro Carvalho Chehab
2015-08-31 13:35 ` Hans Verkuil
2015-09-04 17:08 ` Mauro Carvalho Chehab
2015-11-23 22:18 ` Laurent Pinchart
2015-12-08 20:05 ` Mauro Carvalho Chehab
2015-11-23 22:20 ` Laurent Pinchart
2015-09-06 12:03 ` Mauro Carvalho Chehab
2015-09-11 13:59 ` Hans Verkuil
2015-08-30 3:07 ` [PATCH v8 49/55] [media] media-device: add support for MEDIA_IOC_G_TOPOLOGY ioctl Mauro Carvalho Chehab
2015-08-31 12:47 ` Hans Verkuil
2015-08-31 13:40 ` Mauro Carvalho Chehab
2015-08-31 13:48 ` Hans Verkuil
2015-09-06 12:03 ` Mauro Carvalho Chehab
2015-09-07 22:18 ` Sakari Ailus
2015-09-08 1:23 ` Mauro Carvalho Chehab
2015-09-08 7:26 ` Sakari Ailus
2015-09-08 10:49 ` Mauro Carvalho Chehab
2015-09-08 13:34 ` Sakari Ailus
2015-09-08 15:11 ` Mauro Carvalho Chehab
2015-09-11 14:08 ` Hans Verkuil
2015-12-08 20:20 ` Mauro Carvalho Chehab
2015-11-23 22:04 ` Laurent Pinchart
2015-12-08 20:17 ` Mauro Carvalho Chehab
2015-08-30 3:07 ` [PATCH v8 50/55] [media] media-entity: unregister entity links Mauro Carvalho Chehab
2015-08-31 12:48 ` Hans Verkuil
2015-09-06 12:03 ` Mauro Carvalho Chehab
2015-11-23 21:27 ` Laurent Pinchart
2015-12-08 20:23 ` Mauro Carvalho Chehab
2015-08-30 3:07 ` [PATCH v8 51/55] [media] remove interface links at media_entity_unregister() Mauro Carvalho Chehab
2015-08-31 12:53 ` Hans Verkuil
2015-08-31 13:42 ` Mauro Carvalho Chehab
2015-09-06 12:03 ` Mauro Carvalho Chehab
2015-09-11 14:18 ` Hans Verkuil
2015-08-30 3:07 ` [PATCH v8 52/55] [media] media-device: remove interfaces and interface links Mauro Carvalho Chehab
2015-08-31 12:57 ` Hans Verkuil
2015-09-06 12:03 ` Mauro Carvalho Chehab
2015-09-11 14:20 ` Hans Verkuil
2015-11-23 21:22 ` Laurent Pinchart
2015-12-09 13:39 ` Mauro Carvalho Chehab
2015-08-30 3:07 ` [PATCH v8 53/55] [media] v4l2-core: create MC interfaces for devnodes Mauro Carvalho Chehab
2015-08-31 13:23 ` Hans Verkuil
2015-09-04 16:13 ` Mauro Carvalho Chehab
2015-09-06 12:03 ` Mauro Carvalho Chehab
2015-09-11 14:38 ` Hans Verkuil
2015-11-23 21:10 ` Laurent Pinchart
2015-11-24 11:25 ` Mauro Carvalho Chehab
2015-08-30 3:07 ` [PATCH v8 54/55] [media] au0828: unregister MC at the end Mauro Carvalho Chehab
2015-08-31 13:25 ` Hans Verkuil
2015-09-04 22:24 ` Mauro Carvalho Chehab
2015-08-30 3:07 ` [PATCH v8 55/55] [media] media-entity.h: document all the structs Mauro Carvalho Chehab
2015-09-06 12:03 ` Mauro Carvalho Chehab
2015-09-11 14:45 ` Hans Verkuil
2015-11-23 20:19 ` Laurent Pinchart
2015-12-10 18:16 ` Mauro Carvalho Chehab
2015-08-30 14:27 ` [PATCH v8 00/55] MC next generation patches Mauro Carvalho Chehab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3216825.M3fFyKeUjZ@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=devel@driverdev.osuosl.org \
--cc=elfring@users.sourceforge.net \
--cc=gregkh@linuxfoundation.org \
--cc=hans.verkuil@cisco.com \
--cc=hyun.kwon@xilinx.com \
--cc=javier@osg.samsung.com \
--cc=k.kozlowski@samsung.com \
--cc=kgene@kernel.org \
--cc=kyungmin.park@samsung.com \
--cc=lars@metafoo.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=mchehab@infradead.org \
--cc=mchehab@osg.samsung.com \
--cc=michal.simek@xilinx.com \
--cc=prabhakar.csengg@gmail.com \
--cc=s.nawrocki@samsung.com \
--cc=sakari.ailus@linux.intel.com \
--cc=soren.brinkmann@xilinx.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).