* [PATCH] V4L: introduce a Kconfig variable to disable helper-chip autoselection @ 2010-03-17 12:38 Guennadi Liakhovetski 2010-03-17 12:59 ` Mauro Carvalho Chehab 0 siblings, 1 reply; 6+ messages in thread From: Guennadi Liakhovetski @ 2010-03-17 12:38 UTC (permalink / raw) To: Linux Media Mailing List; +Cc: Hans Verkuil Helper-chip autoselection doesn't work in some situations. Add a configuration variable to let drivers disable it. Use it to disable autoselection if SOC_CAMERA is selected. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> --- This will also be used from VOU video-output driver, other SoC drivers might also want to select this option. drivers/media/video/Kconfig | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig index 64682bf..73f3808 100644 --- a/drivers/media/video/Kconfig +++ b/drivers/media/video/Kconfig @@ -77,8 +77,12 @@ config VIDEO_FIXED_MINOR_RANGES When in doubt, say N. +config VIDEO_HELPER_CHIPS_AUTO_DISABLE + bool + config VIDEO_HELPER_CHIPS_AUTO bool "Autoselect pertinent encoders/decoders and other helper chips" + depends on !VIDEO_HELPER_CHIPS_AUTO_DISABLE default y ---help--- Most video cards may require additional modules to encode or @@ -816,6 +820,7 @@ config SOC_CAMERA tristate "SoC camera support" depends on VIDEO_V4L2 && HAS_DMA && I2C select VIDEOBUF_GEN + select VIDEO_HELPER_CHIPS_AUTO_DISABLE help SoC Camera is a common API to several cameras, not connecting over a bus like PCI or USB. For example some i2c camera connected -- 1.6.2.4 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] V4L: introduce a Kconfig variable to disable helper-chip autoselection 2010-03-17 12:38 [PATCH] V4L: introduce a Kconfig variable to disable helper-chip autoselection Guennadi Liakhovetski @ 2010-03-17 12:59 ` Mauro Carvalho Chehab 2010-03-17 13:56 ` Guennadi Liakhovetski 0 siblings, 1 reply; 6+ messages in thread From: Mauro Carvalho Chehab @ 2010-03-17 12:59 UTC (permalink / raw) To: Guennadi Liakhovetski; +Cc: Linux Media Mailing List, Hans Verkuil Em 17-03-2010 09:38, Guennadi Liakhovetski escreveu: > Helper-chip autoselection doesn't work in some situations. Add a configuration > variable to let drivers disable it. Use it to disable autoselection if > SOC_CAMERA is selected. > > Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> > --- > > This will also be used from VOU video-output driver, other SoC drivers > might also want to select this option. > > drivers/media/video/Kconfig | 5 +++++ > 1 files changed, 5 insertions(+), 0 deletions(-) > > diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig > index 64682bf..73f3808 100644 > --- a/drivers/media/video/Kconfig > +++ b/drivers/media/video/Kconfig > @@ -77,8 +77,12 @@ config VIDEO_FIXED_MINOR_RANGES > > When in doubt, say N. > > +config VIDEO_HELPER_CHIPS_AUTO_DISABLE > + bool > + > config VIDEO_HELPER_CHIPS_AUTO > bool "Autoselect pertinent encoders/decoders and other helper chips" > + depends on !VIDEO_HELPER_CHIPS_AUTO_DISABLE > default y > ---help--- > Most video cards may require additional modules to encode or > @@ -816,6 +820,7 @@ config SOC_CAMERA > tristate "SoC camera support" > depends on VIDEO_V4L2 && HAS_DMA && I2C > select VIDEOBUF_GEN > + select VIDEO_HELPER_CHIPS_AUTO_DISABLE > help > SoC Camera is a common API to several cameras, not connecting > over a bus like PCI or USB. For example some i2c camera connected NACK. If this is not working, please fix, instead of doing a workaround. What's the exact problem? Cheers, Mauro ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] V4L: introduce a Kconfig variable to disable helper-chip autoselection 2010-03-17 12:59 ` Mauro Carvalho Chehab @ 2010-03-17 13:56 ` Guennadi Liakhovetski 2010-03-17 19:28 ` Mauro Carvalho Chehab 0 siblings, 1 reply; 6+ messages in thread From: Guennadi Liakhovetski @ 2010-03-17 13:56 UTC (permalink / raw) To: Mauro Carvalho Chehab; +Cc: Linux Media Mailing List, Hans Verkuil On Wed, 17 Mar 2010, Mauro Carvalho Chehab wrote: > Em 17-03-2010 09:38, Guennadi Liakhovetski escreveu: > > Helper-chip autoselection doesn't work in some situations. Add a configuration > > variable to let drivers disable it. Use it to disable autoselection if > > SOC_CAMERA is selected. > > > > Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> > > --- > > > > This will also be used from VOU video-output driver, other SoC drivers > > might also want to select this option. > > > > drivers/media/video/Kconfig | 5 +++++ > > 1 files changed, 5 insertions(+), 0 deletions(-) > > > > diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig > > index 64682bf..73f3808 100644 > > --- a/drivers/media/video/Kconfig > > +++ b/drivers/media/video/Kconfig > > @@ -77,8 +77,12 @@ config VIDEO_FIXED_MINOR_RANGES > > > > When in doubt, say N. > > > > +config VIDEO_HELPER_CHIPS_AUTO_DISABLE > > + bool > > + > > config VIDEO_HELPER_CHIPS_AUTO > > bool "Autoselect pertinent encoders/decoders and other helper chips" > > + depends on !VIDEO_HELPER_CHIPS_AUTO_DISABLE > > default y > > ---help--- > > Most video cards may require additional modules to encode or > > @@ -816,6 +820,7 @@ config SOC_CAMERA > > tristate "SoC camera support" > > depends on VIDEO_V4L2 && HAS_DMA && I2C > > select VIDEOBUF_GEN > > + select VIDEO_HELPER_CHIPS_AUTO_DISABLE > > help > > SoC Camera is a common API to several cameras, not connecting > > over a bus like PCI or USB. For example some i2c camera connected > NACK. > > If this is not working, please fix, instead of doing a workaround. > > What's the exact problem? Hi Mauro we just discussed this with Hans on IRC, and if I understood him correctly, he was of the same opinion, that adding such a variable could help. The problem is the following: this automatic selection works in a way, that various bridge drivers select "helper" chip drivers (i2c subdevice drivers" if this autoselection is enabled, e.g. config VIDEO_MXB tristate "Siemens-Nixdorf 'Multimedia eXtension Board'" depends on PCI && VIDEO_V4L1 && I2C select VIDEO_SAA7146_VV select VIDEO_TUNER select VIDEO_SAA711X if VIDEO_HELPER_CHIPS_AUTO select VIDEO_TDA9840 if VIDEO_HELPER_CHIPS_AUTO select VIDEO_TEA6415C if VIDEO_HELPER_CHIPS_AUTO select VIDEO_TEA6420 if VIDEO_HELPER_CHIPS_AUTO With SoC-based set ups this cannot work. The only location where this information is available is platform code under arch/... and selecting these drivers from there would be awkward imho. So, for example, we want to put the ak881x video encoder driver under comment "Video encoders" and those drivers are only visible if VIDEO_HELPER_CHIPS_AUTO is unselected, and if it is selected, which it is by default, there is noone to automatically select ak881x. So, I think, the proposed patch is not a work-around, but a reasonable solution for this issue. Thanks Guennadi --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] V4L: introduce a Kconfig variable to disable helper-chip autoselection 2010-03-17 13:56 ` Guennadi Liakhovetski @ 2010-03-17 19:28 ` Mauro Carvalho Chehab 2010-03-17 19:54 ` Hans Verkuil 0 siblings, 1 reply; 6+ messages in thread From: Mauro Carvalho Chehab @ 2010-03-17 19:28 UTC (permalink / raw) To: Guennadi Liakhovetski; +Cc: Linux Media Mailing List, Hans Verkuil Guennadi Liakhovetski wrote: > Hi Mauro > > we just discussed this with Hans on IRC, and if I understood him > correctly, he was of the same opinion, that adding such a variable could > help. > > The problem is the following: this automatic selection works in a way, > that various bridge drivers select "helper" chip drivers (i2c subdevice > drivers" if this autoselection is enabled, e.g. > > config VIDEO_MXB > tristate "Siemens-Nixdorf 'Multimedia eXtension Board'" > depends on PCI && VIDEO_V4L1 && I2C > select VIDEO_SAA7146_VV > select VIDEO_TUNER > select VIDEO_SAA711X if VIDEO_HELPER_CHIPS_AUTO > select VIDEO_TDA9840 if VIDEO_HELPER_CHIPS_AUTO > select VIDEO_TEA6415C if VIDEO_HELPER_CHIPS_AUTO > select VIDEO_TEA6420 if VIDEO_HELPER_CHIPS_AUTO > > With SoC-based set ups this cannot work. The only location where this > information is available is platform code under arch/... and selecting > these drivers from there would be awkward imho. Kconfig works fine if the var is on another place. So, you could do things like: config VIDEO_xxx select VIDEO_foo if VIDEO_HELPER_CHIPS_AUTO && ARCH_bar You may even convert it into dependencies like: config VIDEO_I2C_foo depends on ARCH_bar && config VIDEO_xxx default y if VIDEO_HELPER_CHIPS_AUTO The depends on syntax generally works better than using select. We've converted some select into depends on a few places like tuner, like, for example: config MEDIA_TUNER_TDA827X tristate "Philips TDA827X silicon tuner" depends on VIDEO_MEDIA && I2C default m if MEDIA_TUNER_CUSTOMISE > So, for example, we want > to put the ak881x video encoder driver under > > comment "Video encoders" > > and those drivers are only visible if VIDEO_HELPER_CHIPS_AUTO is > unselected, and if it is selected, which it is by default, there is noone > to automatically select ak881x. So, I think, the proposed patch is not a > work-around, but a reasonable solution for this issue. Even the menu being invisible, any of the above logic would work, if you do something like: config VIDEO_AK881X depends on ARCH_MX1 && I2C default y if VIDEO_HELPER_CHIPS_AUTO && SOC_CAMERA or: config SOC_CAMERA select VIDEO_AK881X if VIDEO_HELPER_CHIPS_AUTO && ARCH_MX1 You should just take some care, since there are some combinations that won't work. For example, if SOC_CAMERA is a module, any ancillary drivers used by it should also be 'm', otherwise, the driver will break. That's why, when having multiple dependencies, the better is to use the "depends on" way. > > Thanks > Guennadi > --- > Guennadi Liakhovetski, Ph.D. > Freelance Open-Source Software Developer > http://www.open-technology.de/ > -- > To unsubscribe from this list: send the line "unsubscribe linux-media" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Cheers, Mauro ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] V4L: introduce a Kconfig variable to disable helper-chip autoselection 2010-03-17 19:28 ` Mauro Carvalho Chehab @ 2010-03-17 19:54 ` Hans Verkuil 2010-03-17 21:09 ` Mauro Carvalho Chehab 0 siblings, 1 reply; 6+ messages in thread From: Hans Verkuil @ 2010-03-17 19:54 UTC (permalink / raw) To: Mauro Carvalho Chehab; +Cc: Guennadi Liakhovetski, Linux Media Mailing List On Wednesday 17 March 2010 20:28:07 Mauro Carvalho Chehab wrote: > Guennadi Liakhovetski wrote: > > > Hi Mauro > > > > we just discussed this with Hans on IRC, and if I understood him > > correctly, he was of the same opinion, that adding such a variable could > > help. > > > > The problem is the following: this automatic selection works in a way, > > that various bridge drivers select "helper" chip drivers (i2c subdevice > > drivers" if this autoselection is enabled, e.g. > > > > config VIDEO_MXB > > tristate "Siemens-Nixdorf 'Multimedia eXtension Board'" > > depends on PCI && VIDEO_V4L1 && I2C > > select VIDEO_SAA7146_VV > > select VIDEO_TUNER > > select VIDEO_SAA711X if VIDEO_HELPER_CHIPS_AUTO > > select VIDEO_TDA9840 if VIDEO_HELPER_CHIPS_AUTO > > select VIDEO_TEA6415C if VIDEO_HELPER_CHIPS_AUTO > > select VIDEO_TEA6420 if VIDEO_HELPER_CHIPS_AUTO > > > > With SoC-based set ups this cannot work. The only location where this > > information is available is platform code under arch/... and selecting > > these drivers from there would be awkward imho. > > Kconfig works fine if the var is on another place. So, you could do things > like: > > config VIDEO_xxx > select VIDEO_foo if VIDEO_HELPER_CHIPS_AUTO && ARCH_bar > > You may even convert it into dependencies like: > > config VIDEO_I2C_foo > depends on ARCH_bar && config VIDEO_xxx > default y if VIDEO_HELPER_CHIPS_AUTO I2C drivers are NOT dependent on architectures. They can be used anywhere. > > The depends on syntax generally works better than using select. We've converted > some select into depends on a few places like tuner, like, for example: > > config MEDIA_TUNER_TDA827X > tristate "Philips TDA827X silicon tuner" > depends on VIDEO_MEDIA && I2C > default m if MEDIA_TUNER_CUSTOMISE > > > So, for example, we want > > to put the ak881x video encoder driver under > > > > comment "Video encoders" > > > > and those drivers are only visible if VIDEO_HELPER_CHIPS_AUTO is > > unselected, and if it is selected, which it is by default, there is noone > > to automatically select ak881x. So, I think, the proposed patch is not a > > work-around, but a reasonable solution for this issue. > > Even the menu being invisible, any of the above logic would work, if you do > something like: > > config VIDEO_AK881X > depends on ARCH_MX1 && I2C > default y if VIDEO_HELPER_CHIPS_AUTO && SOC_CAMERA > > or: > > config SOC_CAMERA > select VIDEO_AK881X if VIDEO_HELPER_CHIPS_AUTO && ARCH_MX1 Same problem here: the architecture does not determine whether this i2c driver is needed. That is determined by the board definition. I guess the right place to do this is probably in a 'mach' specific Kconfig like for example arch/arm/mach-davinci/Kconfig. But to be honest, I think that the SoC + VIDEO_HELPER_CHIPS_AUTO combination is pretty pointless. Regards, Hans > > You should just take some care, since there are some combinations that won't work. > For example, if SOC_CAMERA is a module, any ancillary drivers used by it should also > be 'm', otherwise, the driver will break. That's why, when having multiple > dependencies, the better is to use the "depends on" way. > > > > > > Thanks > > Guennadi > > --- > > Guennadi Liakhovetski, Ph.D. > > Freelance Open-Source Software Developer > > http://www.open-technology.de/ > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-media" in > > the body of a message to majordomo@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > > -- Hans Verkuil - video4linux developer - sponsored by TANDBERG ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] V4L: introduce a Kconfig variable to disable helper-chip autoselection 2010-03-17 19:54 ` Hans Verkuil @ 2010-03-17 21:09 ` Mauro Carvalho Chehab 0 siblings, 0 replies; 6+ messages in thread From: Mauro Carvalho Chehab @ 2010-03-17 21:09 UTC (permalink / raw) To: Hans Verkuil; +Cc: Guennadi Liakhovetski, Linux Media Mailing List Hans, Hans Verkuil wrote: > On Wednesday 17 March 2010 20:28:07 Mauro Carvalho Chehab wrote: >> Guennadi Liakhovetski wrote: >> >>> Hi Mauro >>> >>> we just discussed this with Hans on IRC, and if I understood him >>> correctly, he was of the same opinion, that adding such a variable could >>> help. >>> >>> The problem is the following: this automatic selection works in a way, >>> that various bridge drivers select "helper" chip drivers (i2c subdevice >>> drivers" if this autoselection is enabled, e.g. >>> >>> config VIDEO_MXB >>> tristate "Siemens-Nixdorf 'Multimedia eXtension Board'" >>> depends on PCI && VIDEO_V4L1 && I2C >>> select VIDEO_SAA7146_VV >>> select VIDEO_TUNER >>> select VIDEO_SAA711X if VIDEO_HELPER_CHIPS_AUTO >>> select VIDEO_TDA9840 if VIDEO_HELPER_CHIPS_AUTO >>> select VIDEO_TEA6415C if VIDEO_HELPER_CHIPS_AUTO >>> select VIDEO_TEA6420 if VIDEO_HELPER_CHIPS_AUTO >>> >>> With SoC-based set ups this cannot work. The only location where this >>> information is available is platform code under arch/... and selecting >>> these drivers from there would be awkward imho. >> Kconfig works fine if the var is on another place. So, you could do things >> like: >> >> config VIDEO_xxx >> select VIDEO_foo if VIDEO_HELPER_CHIPS_AUTO && ARCH_bar >> >> You may even convert it into dependencies like: >> >> config VIDEO_I2C_foo >> depends on ARCH_bar && config VIDEO_xxx >> default y if VIDEO_HELPER_CHIPS_AUTO > > I2C drivers are NOT dependent on architectures. They can be used anywhere. > >> The depends on syntax generally works better than using select. We've converted >> some select into depends on a few places like tuner, like, for example: >> >> config MEDIA_TUNER_TDA827X >> tristate "Philips TDA827X silicon tuner" >> depends on VIDEO_MEDIA && I2C >> default m if MEDIA_TUNER_CUSTOMISE >> >>> So, for example, we want >>> to put the ak881x video encoder driver under >>> >>> comment "Video encoders" >>> >>> and those drivers are only visible if VIDEO_HELPER_CHIPS_AUTO is >>> unselected, and if it is selected, which it is by default, there is noone >>> to automatically select ak881x. So, I think, the proposed patch is not a >>> work-around, but a reasonable solution for this issue. >> Even the menu being invisible, any of the above logic would work, if you do >> something like: >> >> config VIDEO_AK881X >> depends on ARCH_MX1 && I2C >> default y if VIDEO_HELPER_CHIPS_AUTO && SOC_CAMERA >> >> or: >> >> config SOC_CAMERA >> select VIDEO_AK881X if VIDEO_HELPER_CHIPS_AUTO && ARCH_MX1 > > Same problem here: the architecture does not determine whether this i2c driver > is needed. That is determined by the board definition. I guess the right place > to do this is probably in a 'mach' specific Kconfig like for example > arch/arm/mach-davinci/Kconfig. > > But to be honest, I think that the SoC + VIDEO_HELPER_CHIPS_AUTO combination > is pretty pointless. > > Regards, > > Hans > I've discussed this issue with Guennadi on IRC today. The better seems to just disable or change the default to 'n' for the AUTO/CUSTOMISE options, when CONFIG_EMBEDDED. He's working on a new patch. -- Cheers, Mauro ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-03-17 21:09 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-03-17 12:38 [PATCH] V4L: introduce a Kconfig variable to disable helper-chip autoselection Guennadi Liakhovetski 2010-03-17 12:59 ` Mauro Carvalho Chehab 2010-03-17 13:56 ` Guennadi Liakhovetski 2010-03-17 19:28 ` Mauro Carvalho Chehab 2010-03-17 19:54 ` Hans Verkuil 2010-03-17 21:09 ` Mauro Carvalho Chehab
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox