Re: [REVIEWv2] bttv v4l2_subdev conversion

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

 



On Tuesday 24 March 2009 01:38:04 Trent Piepho wrote:
> On Sat, 21 Mar 2009, Hans Verkuil wrote:
> > On Saturday 21 March 2009 06:56:18 Trent Piepho wrote:
> > > It seems like one could still disable loading modules for that bttv
> > > might think it needs.  When you're testing modules that have not been
> > > installed, any calls to request_module() will load the wrong version
> > > and cause all sorts of breakage.  It should still be possible to
> > > disable any attempts by the driver to do that.
> >
> > The idea is to either let the driver use the card definition info and
> > probing to detect the audio chip, or to tell it which one to load
> > explicitly. That's sufficient in my opinion.
>
> I still think it should be possible to prevent the driver from calling
> request_module().  If you're trying to test drivers then a call to
> request_module can cause a kernel oops.

You mean you want to be able to load the driver without loading any audio 
module? Or do you mean something else? It must be me, but I still don't 
understand what scenario you are trying to prevent. Note that just calling 
request_module() doesn't do anything but load the module in memory. Without 
autoprobing it will never attach to a i2c adapter.

> > I'll remove it. I'll probably put it back in a future patch when I'll
> > start working on RDS. Currently you can read from a radio device in
> > bttv and it will allow that even when there is no rds on board. I
> > intended to use this pointer later in the radio fops to test whether
> > reading is allowed.
>
> Don't you have a has_saa6588 field in the bttv core struct that would
> allow the same thing?

Yeah, that would work as well: if I can't attach the saa6588 module, then I 
can set that field to 0 and check that field elsewhere.

> > > > --- a/linux/drivers/media/video/bt8xx/bttv.h	Thu Mar 19 20:53:32
> > > > 2009 +0100 +++ b/linux/drivers/media/video/bt8xx/bttv.h	Thu Mar 19
> > > > 21:15:53 2009 +0100 @@ -242,6 +242,7 @@
> > > >  	unsigned int msp34xx_alt:1;
> > > >
> > > >  	unsigned int no_video:1; /* video pci function is unused */
> > > > +	unsigned int has_saa6588:1;
> > >
> > > How about not adding this?  It's unused and I just removed a bunch of
> > > unused fields from here.  Add it when someone can actually make use
> > > of it.
> >
> > No. If you add a new card definition and that card has a saa6588, then
> > this bit should be available for you. Otherwise I just know that people
> > will just skip that chip ('Hey! I can't set it! Oh, I'll skip it
> > then...') instead of asking for adding saa6588 support.
> >
> > The only reason it's not used is that the one board that can have it
> > has to test for it dynamically as it is an add-on.
>
> Do you really think anyone is going to add a new card defition to bttv
> that has a saa6588?  All these years and there is only one obscure card
> that has a saa6588 as an add on.  No one even makes bttv cards with
> tuners anymore. The only bttv cards we've seen added in a long time are
> multi-chip cards with no tuners.

I wasn't thinking so much of new devices as existing devices that never 
recorded the presence of a saa6588. We use 17 bits of the 32 available in 
the bitfield. This will be the 18th. I see absolutely no problem with that.

> > Looking at it I should add a comment, though.
> >
> > > >  	unsigned int tuner_type;  /* tuner chip type */
> > > >  	unsigned int tda9887_conf;
> > > >  	unsigned int svhs, dig;
> > > > +	unsigned int has_saa6588:1;
> > >
> > > You're better off not using a bitfield here.  Because of padding, it
> > > still takes 32 bits (or more, depending on the alignment of
> > > bttv_pll_info) in the struct but takes more code to use.
> >
> > Mauro wants a bitfield, he gets a bitfield. I'm not going
> > back-and-forth on this. Personally I don't care one way or the other.
>
> So Mauro, why a bit field?  It doesn't save any space here.

Because this clearly shows that it is a on-off value and not an integer that 
can have other values as well.

Regards,

	Hans

-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG
--
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