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
next prev 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).