From: Hans Verkuil <hverkuil@xs4all.nl>
To: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Cc: Linux Media Mailing List <linux-media@vger.kernel.org>,
Mauro Carvalho Chehab <mchehab@infradead.org>,
Jonathan Corbet <corbet@lwn.net>,
Matthias Schwarzott <zzam@gentoo.org>,
Antti Palosaari <crope@iki.fi>,
Olli Salonen <olli.salonen@iki.fi>,
Prabhakar Lad <prabhakar.csengg@gmail.com>,
Sakari Ailus <sakari.ailus@linux.intel.com>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
linux-doc@vger.kernel.org, linux-api@vger.kernel.org
Subject: Re: [PATCH 07/18] media controller: rename the tuner entity
Date: Mon, 11 May 2015 11:38:39 +0200 [thread overview]
Message-ID: <5550789F.60304@xs4all.nl> (raw)
In-Reply-To: <20150511063138.1ea10ccf@recife.lan>
On 05/11/2015 11:31 AM, Mauro Carvalho Chehab wrote:
> Em Sat, 09 May 2015 11:31:42 +0200
> Hans Verkuil <hverkuil@xs4all.nl> escreveu:
>
>>>>> Brainstorming:
>>>>>
>>>>> It might be better to map each device node to an entity and each hardware
>>>>> component (tuner, DMA engine) to an entity, and avoid this mixing of
>>>>> hw entity vs device node entity.
>>
>> There are two options here:
>>
>> either make each device node an entity, or expose the device node information
>> as properties of an entity.
>>
>> The latter would be backwards compatible with what we do today. I'm trying to
>> think of reasons why you would want to make each device node an entity in its
>> own right.
>>
>> The problem today is that a video_device representing a video/vbi/radio/swradio
>> device node is an entity, but it is really representing the dma engine. Which
>> is weird for radio devices since there is no dma engine there.
>>
>> Implementing device nodes as entities in their own right does solve this problem,
>> but implementing it as properties would be weird since a radio device node would
>> be a property of a radio tuner entity, which can be a subdevice driver which means
>> that the bridge driver would have to add the radio device property to a subdev
>> driver, which feels really wrong to me.
>>
>> With this in mind I do think representing device nodes as entities in their own
>> right makes sense.
>
> I agree with that: devnodes should be entities, as they're the points to control
> the hardware, and need to be known by the Kernel, no matter if they have DMA
> engines associated with it or not. The better seems to map the DMA engine
> as a property on those entities.
>
>> But I would do this also for a v4l-subdev node. It's very
>> inconsistent not to do that.
>
> It should be easy to create an entity for each v4l-subdev node. I just
> don't see much usage on it, and this will almost double the number of
> entities.
The memory is already allocated for that since it is part of struct video_device,
which v4l-subdev uses. So I don't see this as a problem.
> Also, in order to keep it backward-compatible, both the subdev
> devnode and the subdev no-devnode entity should accept the same set of
> ioctls.
The ioctls always go through the video_device, that will not be changed by
this.
But I agree that there are other backward-compat issues. Unfortunately I cannot
dedicate much time on this at the moment.
Regards,
Hans
next prev parent reply other threads:[~2015-05-11 9:39 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-08 1:12 [PATCH 00/18] Remove media controller entity subtypes and rename types Mauro Carvalho Chehab
2015-05-08 1:12 ` [PATCH 01/18] media controller: add EXPERIMENTAL to Kconfig option for DVB support Mauro Carvalho Chehab
2015-05-08 11:33 ` Hans Verkuil
2015-05-11 12:46 ` Laurent Pinchart
2015-05-08 1:12 ` [PATCH 02/18] media controller: deprecate entity subtype Mauro Carvalho Chehab
2015-05-08 11:39 ` Hans Verkuil
2015-05-08 1:12 ` [PATCH 03/18] media controller: use MEDIA_ENT_T_AV_DMA for A/V DMA engines Mauro Carvalho Chehab
2015-05-08 11:54 ` Hans Verkuil
2015-05-08 12:32 ` Mauro Carvalho Chehab
2015-05-08 12:57 ` Hans Verkuil
2015-05-08 1:12 ` [PATCH 04/18] media controller: Rename camera entities Mauro Carvalho Chehab
2015-05-08 12:03 ` Hans Verkuil
2015-05-08 12:53 ` Mauro Carvalho Chehab
2015-05-08 13:13 ` Hans Verkuil
2015-05-08 1:12 ` [PATCH 05/18] media controller: rename MEDIA_ENT_T_DEVNODE_DVB entities Mauro Carvalho Chehab
2015-05-08 12:10 ` Hans Verkuil
2015-05-08 12:56 ` Mauro Carvalho Chehab
2015-05-08 1:12 ` [PATCH 06/18] media controller: rename analog TV decoder Mauro Carvalho Chehab
2015-05-08 12:12 ` Hans Verkuil
2015-05-08 1:12 ` [PATCH 07/18] media controller: rename the tuner entity Mauro Carvalho Chehab
2015-05-08 12:13 ` Hans Verkuil
2015-05-08 12:57 ` Mauro Carvalho Chehab
2015-05-08 13:21 ` Hans Verkuil
2015-05-08 14:08 ` Mauro Carvalho Chehab
2015-05-08 14:32 ` Hans Verkuil
2015-05-08 15:46 ` Mauro Carvalho Chehab
2015-05-09 9:31 ` Hans Verkuil
2015-05-11 9:31 ` Mauro Carvalho Chehab
2015-05-11 9:38 ` Hans Verkuil [this message]
2015-05-08 1:12 ` [PATCH 08/18] media controller: add comments for the entity types Mauro Carvalho Chehab
2015-05-08 1:12 ` [PATCH 09/18] media controller: add macros to check if subdev or A/V DMA Mauro Carvalho Chehab
2015-05-08 1:12 ` [PATCH 10/18] media controller: use macros to check for V4L2 subdev entities Mauro Carvalho Chehab
2015-05-08 12:46 ` Hans Verkuil
2015-05-08 13:20 ` Mauro Carvalho Chehab
2015-05-08 1:12 ` [PATCH 11/18] omap3/omap4/davinci: get rid of MEDIA_ENT_T_V4L2_SUBDEV abuse Mauro Carvalho Chehab
2015-05-08 1:12 ` [PATCH 12/18] s5c73m3: fix subdev type Mauro Carvalho Chehab
2015-05-08 1:12 ` [PATCH 13/18] s5k5baf: " Mauro Carvalho Chehab
2015-05-08 13:51 ` Andrzej Hajda
2015-05-08 14:25 ` Mauro Carvalho Chehab
2015-05-08 1:12 ` [PATCH 14/18] davinci_vbpe: stop MEDIA_ENT_T_V4L2_SUBDEV abuse Mauro Carvalho Chehab
2015-05-08 1:12 ` [PATCH 15/18] omap4iss: " Mauro Carvalho Chehab
2015-05-08 1:12 ` [PATCH 16/18] v4l2-subdev: use MEDIA_ENT_T_UNKNOWN for new subdevs Mauro Carvalho Chehab
2015-05-08 1:12 ` [PATCH 17/18] media controller: get rid of entity subtype on Kernel Mauro Carvalho Chehab
2015-05-08 1:12 ` [PATCH 18/18] DocBook: update descriptions for the media controller entities Mauro Carvalho Chehab
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=5550789F.60304@xs4all.nl \
--to=hverkuil@xs4all.nl \
--cc=corbet@lwn.net \
--cc=crope@iki.fi \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-api@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@infradead.org \
--cc=mchehab@osg.samsung.com \
--cc=olli.salonen@iki.fi \
--cc=prabhakar.csengg@gmail.com \
--cc=sakari.ailus@linux.intel.com \
--cc=zzam@gentoo.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox