All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Seungchul Kim" <sc377.kim@samsung.com>
To: "'Hans Verkuil'" <hverkuil@xs4all.nl>, <mchehab@kernel.org>
Cc: <linux-media@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<sc377.kim@samsung.com>
Subject: RE: [PATCH] media: v4l2-fh: define v4l2_fh struct regardless of condition
Date: Thu, 26 Mar 2020 18:13:53 +0900	[thread overview]
Message-ID: <001201d6034e$ded12830$9c737890$@samsung.com> (raw)
In-Reply-To: <3e38fc75-f555-7d91-2561-9c95f76694d1@xs4all.nl>

On 3/26/20 5:17 PM, Hans Verkuil wrote:
> On 3/26/20 3:30 AM, Seungchul Kim wrote:
> > On 3/25/20 5:54 PM, Hans Verkuil wrote:
> >> On 3/23/20 3:30 AM, Seungchul Kim wrote:
> >>> v4l2_fh struct define differently by CONFIG_V4L2_MEM2MEM_DEV.
> >>> If some vendors use CONFIG_V4L2_MEM2MEM_DEV by module, it can make
> >>> the mismatch of v4l2_fh sturct.
> >>>
> >>> By the mismatch, the following error occurs.
> >>> ===============================
> >>> [    7.533506] v4l2_mem2mem: disagrees about version of symbol
> >> video_devdata
> >>> [    7.533594] v4l2_mem2mem: Unknown symbol video_devdata (err -22)
> >>> [    7.535319] v4l2_mem2mem: disagrees about version of symbol
> >>> v4l2_event_pending
> >>> [    7.542532] v4l2_mem2mem: Unknown symbol v4l2_event_pending (err -22)
> >>> ===============================
> >>>
> >>> So v4l2_fh struct is modified to does not have dependency for
> >>> CONFIG_V4L2_MEM2MEM_DEV.
> >>>
> >>> Signed-off-by: Seungchul Kim <sc377.kim@samsung.com>
> >>> ---
> >>>  include/media/v4l2-fh.h | 2 --
> >>>  1 file changed, 2 deletions(-)
> >>>
> >>> diff --git a/include/media/v4l2-fh.h b/include/media/v4l2-fh.h index
> >>> 53b4dbb..b5b3e00 100644
> >>> --- a/include/media/v4l2-fh.h
> >>> +++ b/include/media/v4l2-fh.h
> >>> @@ -53,9 +53,7 @@ struct v4l2_fh {
> >>>  	unsigned int		navailable;
> >>>  	u32			sequence;
> >>>
> >>> -#if IS_ENABLED(CONFIG_V4L2_MEM2MEM_DEV)
> >>>  	struct v4l2_m2m_ctx	*m2m_ctx;
> >>> -#endif
> >>
> >> This is a good change, but please also remove the same #if from
> >> v4l2_ioctl_get_lock() in drivers/media/v4l2-core/v4l2-ioctl.c. That
> >> is now no longer needed there either and without removing that those
> >> vendor drivers would be using the wrong lock.
> >>
> >> Regards,
> >>
> >> 	Hans
> >
> > Thank you for your comment. I worried about the same thing with you.
> > But vfh->m2m_ctx on v4l2_ioctl_get_lock() is always null without
> > CONFIG_V4L2_MEM2MEM_DEV, because m2m_ctx of v4l2-fh is initialized
> > only in v4l2_mem2mem.c.
> > Therefore it doesn't have a problem using an wrong lock regardless of
> > modification, so I did not fix it.
> 
> It is: if your out-of-tree driver sets CONFIG_V4L2_MEM2MEM_DEV, then I
> assume it will set vfh->m2m_ctx, and so the v4l2 core should also return
> the right lock for that out-of-tree driver.
> 
> But in any case, if m2m_ctx is always part of v4l2-fh.h, then that #if in
> v4l2-ioctl.c has become pointless and should be removed in any case.
> 
> Regards,
> 
> 	Hans

I agree with you, so I will update a patch, soon


  reply	other threads:[~2020-03-26  9:14 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20200323023045epcas2p12007502edd2a65efcccb00eb899d5532@epcas2p1.samsung.com>
2020-03-23  2:30 ` [PATCH] media: v4l2-fh: define v4l2_fh struct regardless of condition Seungchul Kim
2020-03-25  8:59   ` Greg KH
2020-03-25 16:54   ` Hans Verkuil
2020-03-26  2:30     ` Seungchul Kim
2020-03-26  8:16       ` Hans Verkuil
2020-03-26  9:13         ` Seungchul Kim [this message]
     [not found] <CGME20200326091732epcas2p2be24b70dca0039b10b828e8b9102f6bf@epcas2p2.samsung.com>
2020-03-26  9:09 ` Seungchul Kim
     [not found] <CGME20200323020602epcas2p2ea3273f48a5df7c8c17b3db0618c83e1@epcas2p2.samsung.com>
2020-03-23  2:06 ` Seungchul Kim
     [not found] <CGME20200320095559epcas2p2732ccb391573ba99e2dd08d6c50a18f2@epcas2p2.samsung.com>
2020-03-20  9:55 ` 김승철
     [not found] <CGME20200320022445epcas2p40ea2f166aff45e67825b3e1a4e2308dd@epcas2p4.samsung.com>
2020-03-20  2:16 ` Seungchul Kim

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='001201d6034e$ded12830$9c737890$@samsung.com' \
    --to=sc377.kim@samsung.com \
    --cc=hverkuil@xs4all.nl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    /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 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.