On Mon May 28 2012 13:03:42 Mauro Carvalho Chehab wrote: > Em 28-05-2012 06:42, Hans Verkuil escreveu: > > On Sun May 27 2012 22:15:08 Mauro Carvalho Chehab wrote: ... > >> /dvb-core - what is already at dvb/dvb-core > >> /frontends - what is already at dvb/frontends > >> /isa - all ISA drivers > >> /parport - all parallel port drivers > > > > I propose to replace /parport with a /others directory for things of which we > > have only a very few (parport, i2c) or are hard to classify (si470x, vivi, > > mem2mem_testdev). > > It makes sense to group those drivers that use other buses together. > However, the term 'other' could have other meanings than "other bus" > or "other drivers". > > I think "other-bus" could be an appropriate name for that. OK. > > /media-core for the media*.c sources. > > > "media-core" is a very bad name, as "media" is the name of the subsystem. maybe > "media-ctrl-core" or something similar. mc-core? > > >> > >> After doing that, the Kconfig options at isa, parport, pci, platform and usb > >> can be optimized further, based on the media support "filters": > >> > >> <m> Multimedia support ---> > >> [ ] Webcams and video grabbers support > >> [ ] Analog TV support > >> [ ] Digital TV support > >> [ ] AM/FM radio receivers/transmitters support > >> [ ] Remote Controller support > > > > One thing wasn't clear to me: if I have a hybrid device I gathered that it be enabled > > only if both analog and digital are set, right? But is that also true for radio and RC > > support? So if I have a card with all of the above, will it be enabled only if I check > > all four items? > > No. > > The tendency is to break drivers into RC support, analog TV support and DVB support. > There are several requirements for that, and it actually makes sense to allow disabling > what's not needed. > > So, the idea here is that, if only analog TV is selected, only the analog part of a board > will be enabled. For example, if you select only analog TV, this is how the USB menu will > show, for em28xx: > > --- V4L USB devices > *** Webcam and/or TV USB devices *** > < > Empia EM28xx USB video capture support (NEW) > > (em28xx has the RC part and the DTV part as separate Kconfig options) > > Currently, radio will be enabled together with em28xx, but it would be easy to add a logic > inside em28xx-video to disable radio, if RADIO_SUPPORT is disabled. > > Unfortunately, all hybrid drivers currently require analog TV, although most of them > implements the analog support on a separate file (foo-video.c). It shouldn't be hard > and it makes sense to split hybrid drivers into a core driver, an analog driver, rc driver > and a dvb driver. I don't think it makes sense to split radio into a separate driver, > but it shouldn't be hard to do that too. OK, I misunderstood your original description. > This is actually one of the issues I want to solve: there are several em28xx devices that > don't support analog TV at all. Yet, V4L2 is not selected, the driver won't even appear > to the user. > > Of course, just renaming the directories won't help with hybrid cards itself. A further > work is required on each hybrid drivers. > > > That doesn't really make sense to me. I think the average end-user just cares about the > > hardware that he wants to enable, and if a hybrid device is selected, then that should > > select all the various core configs that it needs. Not the other way around. > > We can add an option for "hybrid TV support" that would enable all 4 cores, in order to > help the average end-user, although I don't think he would have any troubles to understand > that, if his board has analog TV, digital TV and Remote Controller, that all those 3 options > need to be selected, for full device support. > > > Another thing: I would move 'video grabber' away from webcams and to 'Analog TV/Video support'. > > And rename 'Digital TV' to 'Digital TV/Video' as well. A video grabber driver has much more to > > do with TV then it does with webcams. > > From the Kconfig perspective, the difference between the 3 video categories is that: > > - analog TV: tuner-core is required, and 10 other tuner drivers that are listed inside > tuner core; > > - digital TV: tuners are needed, but those are either customised or auto-selected; > > - camera/grabber: no tuner is needed. > > Also, there are several professional camera devices at bttv, cx88, saa7134 and cx25821 > that don't require tuners, and support for them can be compiled without tuner support. > > In other words, a camera driver and a grabber driver are very similar. Of course, a webcam > will also require a sensor (on several drivers, the sensor is internal to the driver, so > no extra modules are needed). Of course, a platform camera driver will also require > "media controller", "subdev API", but those features are already enabled via other config options. > > So, from tuners' perspective, and from Kconfig's perspective, a video grabber is just > like a professional camera driver, a cellphone camera or a webcam driver. I would never have understood that from the menu names. In particular that 'Analog TV' implies a tuner. For me it could just as well imply a composite input video grabber. How about this: [ ] Video (aka V4L2) support [ ] Digital TV Tuner (aka DVB) support [ ] Analog TV Tuner support [ ] Radio Tuner/Modulator support [ ] Remote Controller support I didn't like the term 'Webcams and video grabbers' as that description is never 100%. The help text can clarify this in more detail, of course. Regards, Hans -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html