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

* Re: [PATCH v2] staging: media: omap4iss: redefine to_iss_buffer()
  2019-04-03 15:37 [PATCH v2] staging: media: omap4iss: redefine to_iss_buffer() Himadri Pandya
@ 2019-04-05 13:52 ` Himadri Pandya
  0 siblings, 0 replies; 2+ messages in thread
From: Himadri Pandya @ 2019-04-05 13:52 UTC (permalink / raw)
  To: Laurent Pinchart, mchehab, gregkh; +Cc: outreachy-kernel

[-- Attachment #1: Type: text/plain, Size: 2385 bytes --]

On Wed, 3 Apr, 2019, 9:08 PM Himadri Pandya, <himadri18.07@gmail.com> wrote:

> 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


Please let me know if the patch needs any further improvements.

Thank you.

- Himadri


>
>

[-- Attachment #2: Type: text/html, Size: 3607 bytes --]

^ permalink raw reply	[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.