linux/drivers/media/video/bt8xx
Wojciech Migda 27dea3eb66 V4L/DVB (7294): : tuner and radio addresses are missing for the PixelView PlayTV card
The PixelView PlayTV card definition structure was missing initialization of
the tuner_addr and radio_addr fields. As a result it was impossible to have the
tuner initialized using parameters specified while loading the bttv.ko module.

This regression became visible after the v4l rearrangements introduced
somewhere around 2.6.15 kernel version.

The root cause for the tuner initialization failure is located in the
attach_inform function in the bttv-i2c.c file.

There at the very beginning the addr variable holding the tuner device address
is initialized with the value taken from the bttv_tvcards array.

For the PixelView PlayTV card the tuner address field (and the radio address as
well) was uninitialized, and thus equal 0. Later in that function execution of
the TUNER_SET_TYPE_ADDR tuner command is guarded with check for the tuner
address either equal ADDR_UNSET, or client->addr.

Since both are non-zero (the latter in case of the card owned by me at the
runtime is equal 0x61) the TUNER_SET_TYPE_ADDR command is not executed, and
consequently in the tuner_attach function in the tuner-core.c file call to
i2c_attach_client does not result in assigning the tuner type variable with the
requested value.

Providing initialization of the tuner_addr and radio_addr with ADDR_UNSET
values as it is already done for other tv cards defined in bttv-cards.c ensures
that the tuner initialization is done correctly, just as it used to be in the
2.6.14 kernel.

Signed-off-by: Wojciech Migda <wojtek.golf@interia.pl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-24 14:07:46 -03:00
..
bt832.c V4L/DVB (7460): bttv: Bt832 - fix possible NULL pointer deref 2008-04-06 17:13:18 -03:00
bt832.h V4L/DVB (3539): Move bttv fragments to bt8xx/ 2006-03-24 16:26:50 -03:00
bt848.h V4L/DVB (3539): Move bttv fragments to bt8xx/ 2006-03-24 16:26:50 -03:00
bttv-audio-hook.c V4L/DVB (6507): bttv: whitespace cleanup 2008-01-25 19:01:53 -02:00
bttv-audio-hook.h V4L/DVB (6416): Split hooks on volume and audio mode and rework their handling 2008-01-25 19:00:59 -02:00
bttv-cards.c V4L/DVB (7294): : tuner and radio addresses are missing for the PixelView PlayTV card 2008-04-24 14:07:46 -03:00
bttv-driver.c V4L/DVB (7237): Convert videobuf-dma-sg to generic DMA API 2008-04-24 14:07:44 -03:00
bttv-gpio.c V4L/DVB (6316): Change list_for_each+list_entry to list_for_each_entry 2007-10-10 13:35:29 -03:00
bttv-i2c.c i2c: Remove NOP i2c_algorithm.algo_control() methods 2007-10-13 23:56:32 +02:00
bttv-if.c V4L/DVB (5278): Bt8xx/: possible cleanups 2007-04-27 15:43:20 -03:00
bttv-input.c V4L/DVB (6981): Fix bugzillas 9686 and 9691 2008-01-25 19:04:43 -02:00
bttv-risc.c V4L/DVB (6600): V4L: videobuf: don't chew up namespace STATE_.*, convert to VIDEOBUF_ 2008-01-25 19:02:11 -02:00
bttv-vbi.c V4L/DVB (7094): static memory 2008-04-24 13:42:20 -03:00
bttv.h V4L/DVB (6416): Split hooks on volume and audio mode and rework their handling 2008-01-25 19:00:59 -02:00
bttvp.h V4L/DVB (6912): Replace vidioc_ to bttv_ 2008-01-25 19:04:21 -02:00
Kconfig V4L/DVB (6480): bttv: uses input functions, should depend on INPUT 2008-01-25 19:01:41 -02:00
Makefile V4L/DVB (6412): Audio hooks moved to another file 2008-01-25 19:00:58 -02:00