Re: [PULL] http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-staging

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Hans Verkuil wrote:
>> On Friday 20 November 2009 22:06:02 Devin Heitmueller wrote:
>>> On Fri, Nov 20, 2009 at 3:38 PM, Hans Verkuil <hverkuil@xxxxxxxxx>
>>> wrote:
>>>> Hi Mauro,
>>>>
>>>> Please pull from http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-staging
>>>> for the following:
>>>>
>>>> - Enable staging drivers by default when building v4l-dvb
>>>> - go7007: Add struct v4l2_device.
>>>> - s2250: Change module structure
>>>> - s2250: subdev conversion
>>>> - go7007: subdev conversion
>>> I have to admit that I am not sure that enabling staging drivers by
>>> default is a good idea.  Staging drivers can be highly unstable, and
>>> can potentially damage hardware.  I can totally imagine less
>>> experienced users with one of these devices building the current code
>>> and then being confused why their hardware is detected but is totally
>>> broken, or worse becomes damaged.
>>
>> If there are drivers in the staging tree that are so unreliable that
>> they
>> can break the hardware, then those should be explicitly disabled, rather
>> than disabling all drivers in the staging tree. Or perhaps do not belong
>> there at all, or belong under the CONFIG_STAGING_BROKEN option.
>>
>> A driver like the go7007 is under active development, and it does work.
>> It
>> only needs more cleanup before it can be moved to drivers/media/video,
>> so
>> there was no reason that it should be disabled.
>>
>> Mauro, what are the risks of always compiling the tm6000 and cx25821
>> drivers? Let me know if you think that either one or both should be
>> disabled for now and I'll make a patch for it.
>
> Even on upstream, drivers in staging are not compiled by default. To
> enable
> them, you need to answer yes to two questions.
>
> If the driver is OK, it shouldn't be in staging. The drivers that are in
> staging have issues that may be just coding style, can be the usage of
> wrong
> API's, or can be something serious.
>
> Also, since the criteria for a driver to be in staging are weak, they may
> not
> be prepared to be used widely, since they is likely doing some evil
> things,
> like duplicating existing code or creating non-accepted API's.
>
> In the go7007 case, among other things, the driver duplicates existing
> code at
> the saa7115 driver still uses the already deprecated DECODER ioctl's, and
> creates its own API (see go7007.h).
>
> So, I'm against of enabling any staging drivers to be compiled by default.
>
> Of course, in the case of auto-compilation tests tools like what you have,
> it is
> valuable if you add a patch there that enables their compilations inside
> the
> tool, but such patch shouldn't be committed at the development tree,
> simply
> because staging drivers aren't ready yet.
>
> The developers and testers of the staging drivers should manually enable
> it,
> after being warned about the risks of using them.
>
>> By not compiling you run the very high risk of bit rot: code getting
>> seriously out-of-sync with the rest of the tree. Possibly requiring a
>> lot
>> of work later.
>
> If the driver is being maintained, this risk is low, since the driver
> maintainer
> will take care of it. It helps if your automatic build scripts could point
> that
> the driver compilation broke for some kernels, but, as the driver is being
> prepared
> for upstream submission, the developer should already being using the
> latest -rc kernel
> for its development.
>
> If they aren't maintained, they'll be removed from staging tree on a few
> kernel
> cycles, so patches fixing the compilation for those unmaintained drivers
> just
> means that someone lost his time fixing a dead driver.

I've reverted that patch and respun my v4l-dvb-staging tree.

Regards,

         Hans

-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom

--
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

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux