V4L/DVB (10560): bttv: make tuner card info more consistent
authorTrent Piepho <xyzzy@speakeasy.org>
Thu, 29 Jan 2009 00:32:59 +0000 (21:32 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 30 Mar 2009 15:42:46 +0000 (12:42 -0300)
commitabb0362f49c361f71b5aa6d244d4847145ed53c1
treed59799fe09af041a4f630d8e4f49e8eb3b32968b
parent72134a6d5199c3f5c8efe914e49072bde95948b3
V4L/DVB (10560): bttv: make tuner card info more consistent

The bttv card database structure had a "tuner" field that was the input
number of the tuner input or UNSET for no tuner.  However, the only values
it could ever be are 0 and UNSET.  Having a tuner on an input other than 0
didn't work and was never used.

There is also a "tuner_type" field that can be set to TUNER_ABSENT to
indicate no tuner, which makes "tuner = UNSET" redundant.  In many cases,
tuner_type was set to UNSET when there was no tuner, which isn't quite
correct.  tuner_type == UNSET is supposed to mean the tuner type isn't yet
known.

So, I changed cards where "tuner == UNSET" to always have tuner_type of
TUNER_ABSENT.  At this point the tuner field is redundant, so I deleted it.

I have the card setup code set the card's tuner_type (not the card type's
tuner_type!) to TUNER_ABSENT if it hasn't yet been set at the end of the
setup code.  Various places that check if the card has a tuner will now
look for this instead of checking the card type's "tuner" field.

Also autoload the tuner module before issuing the TUNER_SET_TYPE_ADDR I2C
client call instead of after issuing it.

Overall, on ia32 this decreases compiled code size by about 24 bytes and
reduces the data size by 640 bytes.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/bt8xx/bttv-cards.c
drivers/media/video/bt8xx/bttv-driver.c
drivers/media/video/bt8xx/bttv-i2c.c
drivers/media/video/bt8xx/bttv.h