em28xx-dvb.c (188933ac139a6f8ab06cad369bd0200af947b00d) | em28xx-dvb.c (83c1b6ce7562efe157faac04d388144e1fd3c053) |
---|---|
1/* 2 DVB device driver for em28xx 3 4 (c) 2008-2011 Mauro Carvalho Chehab <mchehab@infradead.org> 5 6 (c) 2008 Devin Heitmueller <devin.heitmueller@gmail.com> 7 - Fixes for the driver to properly work with HVR-950 8 - Fixes for the driver to properly work with Pinnacle PCTV HD Pro Stick --- 40 unchanged lines hidden (view full) --- 49#include "tda18271c2dd.h" 50#include "drxk.h" 51#include "tda10071.h" 52#include "tda18212.h" 53#include "a8293.h" 54#include "qt1010.h" 55#include "mb86a20s.h" 56#include "m88ds3103.h" | 1/* 2 DVB device driver for em28xx 3 4 (c) 2008-2011 Mauro Carvalho Chehab <mchehab@infradead.org> 5 6 (c) 2008 Devin Heitmueller <devin.heitmueller@gmail.com> 7 - Fixes for the driver to properly work with HVR-950 8 - Fixes for the driver to properly work with Pinnacle PCTV HD Pro Stick --- 40 unchanged lines hidden (view full) --- 49#include "tda18271c2dd.h" 50#include "drxk.h" 51#include "tda10071.h" 52#include "tda18212.h" 53#include "a8293.h" 54#include "qt1010.h" 55#include "mb86a20s.h" 56#include "m88ds3103.h" |
57#include "m88ts2022.h" | 57#include "ts2020.h" |
58#include "si2168.h" 59#include "si2157.h" 60 61MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@infradead.org>"); 62MODULE_LICENSE("GPL"); 63MODULE_DESCRIPTION(DRIVER_DESC " - digital TV interface"); 64MODULE_VERSION(EM28XX_VERSION); 65 --- 1309 unchanged lines hidden (view full) --- 1375 &dev->i2c_adap[dev->def_i2c_bus], 1376 &em28xx_cxd2820r_tda18271_config)) { 1377 dvb_frontend_detach(dvb->fe[0]); 1378 result = -EINVAL; 1379 goto out_free; 1380 } 1381 } 1382 break; | 58#include "si2168.h" 59#include "si2157.h" 60 61MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@infradead.org>"); 62MODULE_LICENSE("GPL"); 63MODULE_DESCRIPTION(DRIVER_DESC " - digital TV interface"); 64MODULE_VERSION(EM28XX_VERSION); 65 --- 1309 unchanged lines hidden (view full) --- 1375 &dev->i2c_adap[dev->def_i2c_bus], 1376 &em28xx_cxd2820r_tda18271_config)) { 1377 dvb_frontend_detach(dvb->fe[0]); 1378 result = -EINVAL; 1379 goto out_free; 1380 } 1381 } 1382 break; |
1383 case EM2884_BOARD_ELGATO_EYETV_HYBRID_2008: |
|
1383 case EM2884_BOARD_CINERGY_HTC_STICK: 1384 terratec_htc_stick_init(dev); 1385 1386 /* attach demodulator */ 1387 dvb->fe[0] = dvb_attach(drxk_attach, &terratec_htc_stick_drxk, 1388 &dev->i2c_adap[dev->def_i2c_bus]); 1389 if (!dvb->fe[0]) { 1390 result = -EINVAL; --- 95 unchanged lines hidden (view full) --- 1486 } 1487 break; 1488 case EM28178_BOARD_PCTV_461E: 1489 { 1490 /* demod I2C adapter */ 1491 struct i2c_adapter *i2c_adapter; 1492 struct i2c_client *client; 1493 struct i2c_board_info info; | 1384 case EM2884_BOARD_CINERGY_HTC_STICK: 1385 terratec_htc_stick_init(dev); 1386 1387 /* attach demodulator */ 1388 dvb->fe[0] = dvb_attach(drxk_attach, &terratec_htc_stick_drxk, 1389 &dev->i2c_adap[dev->def_i2c_bus]); 1390 if (!dvb->fe[0]) { 1391 result = -EINVAL; --- 95 unchanged lines hidden (view full) --- 1487 } 1488 break; 1489 case EM28178_BOARD_PCTV_461E: 1490 { 1491 /* demod I2C adapter */ 1492 struct i2c_adapter *i2c_adapter; 1493 struct i2c_client *client; 1494 struct i2c_board_info info; |
1494 struct m88ts2022_config m88ts2022_config = { 1495 .clock = 27000000, | 1495 struct ts2020_config ts2020_config = { |
1496 }; 1497 memset(&info, 0, sizeof(struct i2c_board_info)); 1498 1499 /* attach demod */ 1500 dvb->fe[0] = dvb_attach(m88ds3103_attach, 1501 &pctv_461e_m88ds3103_config, 1502 &dev->i2c_adap[dev->def_i2c_bus], 1503 &i2c_adapter); 1504 if (dvb->fe[0] == NULL) { 1505 result = -ENODEV; 1506 goto out_free; 1507 } 1508 1509 /* attach tuner */ | 1496 }; 1497 memset(&info, 0, sizeof(struct i2c_board_info)); 1498 1499 /* attach demod */ 1500 dvb->fe[0] = dvb_attach(m88ds3103_attach, 1501 &pctv_461e_m88ds3103_config, 1502 &dev->i2c_adap[dev->def_i2c_bus], 1503 &i2c_adapter); 1504 if (dvb->fe[0] == NULL) { 1505 result = -ENODEV; 1506 goto out_free; 1507 } 1508 1509 /* attach tuner */ |
1510 m88ts2022_config.fe = dvb->fe[0]; 1511 strlcpy(info.type, "m88ts2022", I2C_NAME_SIZE); | 1510 ts2020_config.fe = dvb->fe[0]; 1511 strlcpy(info.type, "ts2022", I2C_NAME_SIZE); |
1512 info.addr = 0x60; | 1512 info.addr = 0x60; |
1513 info.platform_data = &m88ts2022_config; 1514 request_module("m88ts2022"); | 1513 info.platform_data = &ts2020_config; 1514 request_module("ts2020"); |
1515 client = i2c_new_device(i2c_adapter, &info); 1516 if (client == NULL || client->dev.driver == NULL) { 1517 dvb_frontend_detach(dvb->fe[0]); 1518 result = -ENODEV; 1519 goto out_free; 1520 } 1521 1522 if (!try_module_get(client->dev.driver->owner)) { --- 321 unchanged lines hidden --- | 1515 client = i2c_new_device(i2c_adapter, &info); 1516 if (client == NULL || client->dev.driver == NULL) { 1517 dvb_frontend_detach(dvb->fe[0]); 1518 result = -ENODEV; 1519 goto out_free; 1520 } 1521 1522 if (!try_module_get(client->dev.driver->owner)) { --- 321 unchanged lines hidden --- |