All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] staging: media: omap4iss: redefine to_iss_buffer()
@ 2019-04-03 15:37 Himadri Pandya
  2019-04-05 13:52 ` Himadri Pandya
  0 siblings, 1 reply; 2+ messages in thread
From: Himadri Pandya @ 2019-04-03 15:37 UTC (permalink / raw)
  To: laurent.pinchart, mchehab, gregkh; +Cc: outreachy-kernel, Himadri Pandya

Currently macro to_iss_buffer converts vb2_v4l2_buffer into iss_buffer.
But the applications needs the conversion from vb2_buffer to iss_bufffer.
So they need to convert vb2_buffer into vb2_v4l2_buffer first and then
vb2_v4l2_buffer into iss_buffer. Redefining to_iss_buffer to convert
from vb2_buffer into iss_buffer directly helps the situation.

This patch redefines the former to_iss_buffer macro into an inline
function to perform above task and uses it in corresponding function.

Signed-off-by: Himadri Pandya <himadri18.07@gmail.com>
---
Changes in V2:
	- Merge two patches into one
	- Optimise the new definition of to_iss_buffer
---
 drivers/staging/media/omap4iss/iss_video.c | 3 +--
 drivers/staging/media/omap4iss/iss_video.h | 5 ++++-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/media/omap4iss/iss_video.c b/drivers/staging/media/omap4iss/iss_video.c
index c2c5a9cd8642..c99611deed6b 100644
--- a/drivers/staging/media/omap4iss/iss_video.c
+++ b/drivers/staging/media/omap4iss/iss_video.c
@@ -318,8 +318,7 @@ static int iss_video_queue_setup(struct vb2_queue *vq,
 
 static void iss_video_buf_cleanup(struct vb2_buffer *vb)
 {
-	struct vb2_v4l2_buffer *vbuf = to_vb2_v4l2_buffer(vb);
-	struct iss_buffer *buffer = container_of(vbuf, struct iss_buffer, vb);
+	struct iss_buffer *buffer = to_iss_buffer(vb);
 
 	if (buffer->iss_addr)
 		buffer->iss_addr = 0;
diff --git a/drivers/staging/media/omap4iss/iss_video.h b/drivers/staging/media/omap4iss/iss_video.h
index f22489edb562..f5018f4742fc 100644
--- a/drivers/staging/media/omap4iss/iss_video.h
+++ b/drivers/staging/media/omap4iss/iss_video.h
@@ -118,7 +118,10 @@ struct iss_buffer {
 	dma_addr_t iss_addr;
 };
 
-#define to_iss_buffer(buf)	container_of(buf, struct iss_buffer, vb)
+static inline struct iss_buffer *to_iss_buffer(struct vb2_buffer *vb)
+{
+	return container_of(vb, struct iss_buffer, vb.vb2_buf);
+}
 
 enum iss_video_dmaqueue_flags {
 	/* Set if DMA queue becomes empty when ISS_PIPELINE_STREAM_CONTINUOUS */
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-04-05 13:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-03 15:37 [PATCH v2] staging: media: omap4iss: redefine to_iss_buffer() Himadri Pandya
2019-04-05 13:52 ` Himadri Pandya

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.