* [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.