Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 175207 Details for
Bug 250609
[2.6.26 regression] Hauppauge WinTV card (driver: cx8800) cannot change channels
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
A patch that removes the tuner-setup changes for cx88 driver on 2.6.26
revert-cx88-tuner-setup-changes.patch (text/plain), 5.20 KB, created by
Axel Dyks
on 2008-12-13 15:25:27 UTC
(
hide
)
Description:
A patch that removes the tuner-setup changes for cx88 driver on 2.6.26
Filename:
MIME Type:
Creator:
Axel Dyks
Created:
2008-12-13 15:25:27 UTC
Size:
5.20 KB
patch
obsolete
>reverted: >Index: linux-2.6.26.8/drivers/media/video/cx88/cx88-cards.c >=================================================================== >--- linux-2.6.26.8.orig/drivers/media/video/cx88/cx88-cards.c >+++ linux-2.6.26.8/drivers/media/video/cx88/cx88-cards.c >@@ -57,9 +57,6 @@ MODULE_PARM_DESC(latency,"pci latency ti > /* ------------------------------------------------------------------ */ > /* board config info */ > >-/* If radio_type !=UNSET, radio_addr should be specified >- */ >- > static const struct cx88_board cx88_boards[] = { > [CX88_BOARD_UNKNOWN] = { > .name = "UNKNOWN/GENERIC", >@@ -2456,31 +2453,25 @@ EXPORT_SYMBOL_GPL(cx88_setup_xc3028); > static void cx88_card_setup(struct cx88_core *core) > { > static u8 eeprom[256]; >- struct tuner_setup tun_setup; >- unsigned int mode_mask = T_RADIO | >- T_ANALOG_TV | >- T_DIGITAL_TV; >- >- memset(&tun_setup, 0, sizeof(tun_setup)); > > if (0 == core->i2c_rc) { > core->i2c_client.addr = 0xa0 >> 1; >- tveeprom_read(&core->i2c_client, eeprom, sizeof(eeprom)); >+ tveeprom_read(&core->i2c_client,eeprom,sizeof(eeprom)); > } > > switch (core->boardnr) { > case CX88_BOARD_HAUPPAUGE: > case CX88_BOARD_HAUPPAUGE_ROSLYN: > if (0 == core->i2c_rc) >- hauppauge_eeprom(core, eeprom+8); >+ hauppauge_eeprom(core,eeprom+8); > break; > case CX88_BOARD_GDI: > if (0 == core->i2c_rc) >- gdi_eeprom(core, eeprom); >+ gdi_eeprom(core,eeprom); > break; > case CX88_BOARD_WINFAST2000XP_EXPERT: > if (0 == core->i2c_rc) >- leadtek_eeprom(core, eeprom); >+ leadtek_eeprom(core,eeprom); > break; > case CX88_BOARD_HAUPPAUGE_NOVASPLUS_S1: > case CX88_BOARD_HAUPPAUGE_NOVASE2_S1: >@@ -2490,7 +2481,7 @@ static void cx88_card_setup(struct cx88_ > case CX88_BOARD_HAUPPAUGE_HVR3000: > case CX88_BOARD_HAUPPAUGE_HVR1300: > if (0 == core->i2c_rc) >- hauppauge_eeprom(core, eeprom); >+ hauppauge_eeprom(core,eeprom); > break; > case CX88_BOARD_KWORLD_DVBS_100: > cx_write(MO_GP0_IO, 0x000007f8); >@@ -2571,35 +2562,6 @@ static void cx88_card_setup(struct cx88_ > > cx88_call_i2c_clients(core, TUNER_SET_CONFIG, &tea5767_cfg); > } >- } /*end switch() */ >- >- >- /* Setup tuners */ >- if ((core->board.radio_type != UNSET)) { >- tun_setup.mode_mask = T_RADIO; >- tun_setup.type = core->board.radio_type; >- tun_setup.addr = core->board.radio_addr; >- tun_setup.tuner_callback = cx88_tuner_callback; >- cx88_call_i2c_clients(core, TUNER_SET_TYPE_ADDR, &tun_setup); >- mode_mask &= ~T_RADIO; >- } >- >- if (core->board.tuner_type != TUNER_ABSENT) { >- tun_setup.mode_mask = mode_mask; >- tun_setup.type = core->board.tuner_type; >- tun_setup.addr = core->board.tuner_addr; >- tun_setup.tuner_callback = cx88_tuner_callback; >- >- cx88_call_i2c_clients(core, TUNER_SET_TYPE_ADDR, &tun_setup); >- } >- >- if (core->board.tda9887_conf) { >- struct v4l2_priv_tun_config tda9887_cfg; >- >- tda9887_cfg.tuner = TUNER_TDA9887; >- tda9887_cfg.priv = &core->board.tda9887_conf; >- >- cx88_call_i2c_clients(core, TUNER_SET_CONFIG, &tda9887_cfg); > } > > if (core->board.tuner_type == TUNER_XC2028) { >@@ -2617,7 +2579,6 @@ static void cx88_card_setup(struct cx88_ > ctl.fname); > cx88_call_i2c_clients(core, TUNER_SET_CONFIG, &xc2028_cfg); > } >- cx88_call_i2c_clients (core, TUNER_SET_STANDBY, NULL); > } > > /* ------------------------------------------------------------------ */ >@@ -2756,6 +2717,7 @@ struct cx88_core *cx88_core_create(struc > if (TUNER_ABSENT != core->board.tuner_type) > request_module("tuner"); > >+ cx88_call_i2c_clients (core, TUNER_SET_STANDBY, NULL); > cx88_card_setup(core); > cx88_ir_init(core, pci); > >Index: linux-2.6.26.8/drivers/media/video/cx88/cx88-i2c.c >=================================================================== >--- linux-2.6.26.8.orig/drivers/media/video/cx88/cx88-i2c.c >+++ linux-2.6.26.8/drivers/media/video/cx88/cx88-i2c.c >@@ -99,11 +99,42 @@ static int cx8800_bit_getsda(void *data) > > static int attach_inform(struct i2c_client *client) > { >+ struct tuner_setup tun_setup; > struct cx88_core *core = i2c_get_adapdata(client->adapter); > > dprintk(1, "%s i2c attach [addr=0x%x,client=%s]\n", > client->driver->driver.name, client->addr, client->name); >+ if (!client->driver->command) >+ return 0; > >+ if (core->board.radio_type != UNSET) { >+ if ((core->board.radio_addr==ADDR_UNSET)||(core->board.radio_addr==client->addr)) { >+ tun_setup.mode_mask = T_RADIO; >+ tun_setup.type = core->board.radio_type; >+ tun_setup.addr = core->board.radio_addr; >+ tun_setup.tuner_callback = cx88_tuner_callback; >+ client->driver->command (client, TUNER_SET_TYPE_ADDR, &tun_setup); >+ } >+ } >+ if (core->board.tuner_type != UNSET) { >+ if ((core->board.tuner_addr==ADDR_UNSET)||(core->board.tuner_addr==client->addr)) { >+ >+ tun_setup.mode_mask = T_ANALOG_TV; >+ tun_setup.type = core->board.tuner_type; >+ tun_setup.addr = core->board.tuner_addr; >+ tun_setup.tuner_callback = cx88_tuner_callback; >+ client->driver->command (client,TUNER_SET_TYPE_ADDR, &tun_setup); >+ } >+ } >+ >+ if (core->board.tda9887_conf) { >+ struct v4l2_priv_tun_config tda9887_cfg; >+ >+ tda9887_cfg.tuner = TUNER_TDA9887; >+ tda9887_cfg.priv = &core->board.tda9887_conf; >+ >+ client->driver->command(client, TUNER_SET_CONFIG, &tda9887_cfg); >+ } > return 0; > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 250609
:
174945
|
174947
|
175007
|
175009
|
175084
|
175108
|
175120
|
175146
|
175153
| 175207 |
175219
|
175640