linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Todor Tomov <todor.tomov@linaro.org>
To: mchehab@kernel.org, sakari.ailus@linux.intel.com,
	hans.verkuil@cisco.com,
	laurent.pinchart+renesas@ideasonboard.com,
	linux-media@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, Todor Tomov <todor.tomov@linaro.org>
Subject: [PATCH v3 13/35] media: camss: vfe: Get line pointer as container of video_out
Date: Mon, 23 Jul 2018 14:02:30 +0300	[thread overview]
Message-ID: <1532343772-27382-14-git-send-email-todor.tomov@linaro.org> (raw)
In-Reply-To: <1532343772-27382-1-git-send-email-todor.tomov@linaro.org>

Simplify getting of the line pointer by using the container_of
macro instead of traversing media controller links.

Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
---
 drivers/media/platform/qcom/camss/camss-vfe.c | 38 +++------------------------
 1 file changed, 4 insertions(+), 34 deletions(-)

diff --git a/drivers/media/platform/qcom/camss/camss-vfe.c b/drivers/media/platform/qcom/camss/camss-vfe.c
index 51ad3f8..77167f1 100644
--- a/drivers/media/platform/qcom/camss/camss-vfe.c
+++ b/drivers/media/platform/qcom/camss/camss-vfe.c
@@ -2038,26 +2038,6 @@ static void vfe_put(struct vfe_device *vfe)
 }
 
 /*
- * vfe_video_pad_to_line - Get pointer to VFE line by media pad
- * @pad: Media pad
- *
- * Return pointer to vfe line structure
- */
-static struct vfe_line *vfe_video_pad_to_line(struct media_pad *pad)
-{
-	struct media_pad *vfe_pad;
-	struct v4l2_subdev *subdev;
-
-	vfe_pad = media_entity_remote_pad(pad);
-	if (vfe_pad == NULL)
-		return NULL;
-
-	subdev = media_entity_to_v4l2_subdev(vfe_pad->entity);
-
-	return container_of(subdev, struct vfe_line, subdev);
-}
-
-/*
  * vfe_queue_buffer - Add empty buffer
  * @vid: Video device structure
  * @buf: Buffer to be enqueued
@@ -2070,16 +2050,11 @@ static struct vfe_line *vfe_video_pad_to_line(struct media_pad *pad)
 static int vfe_queue_buffer(struct camss_video *vid,
 			    struct camss_buffer *buf)
 {
-	struct vfe_device *vfe = &vid->camss->vfe;
-	struct vfe_line *line;
+	struct vfe_line *line = container_of(vid, struct vfe_line, video_out);
+	struct vfe_device *vfe = to_vfe(line);
 	struct vfe_output *output;
 	unsigned long flags;
 
-	line = vfe_video_pad_to_line(&vid->pad);
-	if (!line) {
-		dev_err(to_device(vfe), "Can not queue buffer\n");
-		return -1;
-	}
 	output = &line->output;
 
 	spin_lock_irqsave(&vfe->output_lock, flags);
@@ -2104,16 +2079,11 @@ static int vfe_queue_buffer(struct camss_video *vid,
 static int vfe_flush_buffers(struct camss_video *vid,
 			     enum vb2_buffer_state state)
 {
-	struct vfe_device *vfe = &vid->camss->vfe;
-	struct vfe_line *line;
+	struct vfe_line *line = container_of(vid, struct vfe_line, video_out);
+	struct vfe_device *vfe = to_vfe(line);
 	struct vfe_output *output;
 	unsigned long flags;
 
-	line = vfe_video_pad_to_line(&vid->pad);
-	if (!line) {
-		dev_err(to_device(vfe),	"Can not flush buffers\n");
-		return -1;
-	}
 	output = &line->output;
 
 	spin_lock_irqsave(&vfe->output_lock, flags);
-- 
2.7.4


  parent reply	other threads:[~2018-07-23 11:06 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-23 11:02 [PATCH v3 00/35] Qualcomm Camera Subsystem driver - 8x96 support Todor Tomov
2018-07-23 11:02 ` [PATCH v3 01/35] doc-rst: Add packed Bayer raw14 pixel formats Todor Tomov
2018-07-23 11:02 ` [PATCH v3 02/35] media: v4l: Add new 2X8 10-bit grayscale media bus code Todor Tomov
2018-07-23 11:02 ` [PATCH v3 03/35] media: v4l: Add new 10-bit packed grayscale format Todor Tomov
2018-07-23 11:02 ` [PATCH v3 04/35] media: Rename CAMSS driver path Todor Tomov
2018-07-23 11:02 ` [PATCH v3 05/35] media: camss: Use SPDX license headers Todor Tomov
2018-07-23 11:02 ` [PATCH v3 06/35] media: camss: Fix OF node usage Todor Tomov
2018-07-23 11:02 ` [PATCH v3 07/35] media: camss: csiphy: Ensure clock mux config is done before the rest Todor Tomov
2018-07-23 11:02 ` [PATCH v3 08/35] media: dt-bindings: media: qcom,camss: Unify the clock names Todor Tomov
2018-07-23 11:02 ` [PATCH v3 09/35] media: camss: " Todor Tomov
2018-07-23 11:02 ` [PATCH v3 10/35] media: camss: csiphy: Update settle count calculation Todor Tomov
2018-07-23 11:02 ` [PATCH v3 11/35] media: camss: csid: Configure data type and decode format properly Todor Tomov
2018-07-23 11:02 ` [PATCH v3 12/35] media: camss: vfe: Fix to_vfe() macro member name Todor Tomov
2018-07-23 11:02 ` Todor Tomov [this message]
2018-07-23 11:02 ` [PATCH v3 14/35] media: camss: vfe: Do not disable CAMIF when clearing its status Todor Tomov
2018-07-23 11:02 ` [PATCH v3 15/35] media: dt-bindings: media: qcom,camss: Fix whitespaces Todor Tomov
2018-07-23 11:02 ` [PATCH v3 16/35] media: dt-bindings: media: qcom,camss: Add 8996 bindings Todor Tomov
2018-07-23 11:02 ` [PATCH v3 17/35] media: camss: Add 8x96 resources Todor Tomov
2018-07-24 12:21   ` Sakari Ailus
2018-07-25 13:02     ` Todor Tomov
2018-07-23 11:02 ` [PATCH v3 18/35] media: camss: Add basic runtime PM support Todor Tomov
2018-07-24 12:49   ` Sakari Ailus
2018-07-25 10:01     ` Todor Tomov
2018-07-25 12:24       ` Sakari Ailus
2018-07-23 11:02 ` [PATCH v3 19/35] media: camss: csiphy: Split to hardware dependent and independent parts Todor Tomov
2018-07-23 11:02 ` [PATCH v3 20/35] media: camss: csiphy: Unify lane handling Todor Tomov
2018-07-23 11:02 ` [PATCH v3 21/35] media: camss: csiphy: Add support for 8x96 Todor Tomov
2018-07-23 11:02 ` [PATCH v3 22/35] media: camss: csid: " Todor Tomov
2018-07-23 11:02 ` [PATCH v3 23/35] media: camss: ispif: " Todor Tomov
2018-07-23 11:02 ` [PATCH v3 24/35] media: camss: vfe: Split to hardware dependent and independent parts Todor Tomov
2018-07-23 11:02 ` [PATCH v3 25/35] media: camss: vfe: Add support for 8x96 Todor Tomov
2018-07-23 11:02 ` [PATCH v3 26/35] media: camss: Format configuration per hardware version Todor Tomov
2018-07-23 11:02 ` [PATCH v3 27/35] media: camss: vfe: Different format support on source pad Todor Tomov
2018-07-23 11:02 ` [PATCH v3 28/35] media: camss: vfe: Add support for UYVY output from VFE on 8x96 Todor Tomov
2018-07-23 11:02 ` [PATCH v3 29/35] media: camss: csid: Different format support on source pad Todor Tomov
2018-07-23 11:02 ` [PATCH v3 30/35] media: camss: csid: MIPI10 to Plain16 format conversion Todor Tomov
2018-07-23 11:02 ` [PATCH v3 31/35] media: camss: Add support for RAW MIPI14 on 8x96 Todor Tomov
2018-07-23 11:02 ` [PATCH v3 32/35] media: camss: Add support for 10-bit grayscale formats Todor Tomov
2018-07-23 11:02 ` [PATCH v3 33/35] media: doc: media/v4l-drivers: Update Qualcomm CAMSS driver document for 8x96 Todor Tomov
2018-07-23 11:02 ` [PATCH v3 34/35] media: camss: csid: Add support for events triggered by user controls Todor Tomov
2018-07-24 12:55   ` Sakari Ailus
2018-07-23 11:02 ` [PATCH v3 35/35] media: v4l2-ioctl: Add format descriptions for packed Bayer raw14 pixel formats Todor Tomov
2018-07-24 12:52   ` Sakari Ailus
2018-07-25 13:06     ` Todor Tomov
2018-07-24 11:22 ` [PATCH v3 00/35] Qualcomm Camera Subsystem driver - 8x96 support Hans Verkuil
2018-07-24 12:45   ` Todor Tomov
2018-07-24 11:41 ` Hans Verkuil
2018-07-24 12:47   ` Todor Tomov

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=1532343772-27382-14-git-send-email-todor.tomov@linaro.org \
    --to=todor.tomov@linaro.org \
    --cc=hans.verkuil@cisco.com \
    --cc=laurent.pinchart+renesas@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=sakari.ailus@linux.intel.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).