[media] em28xx: convert tda18212 tuner to I2C client
Used tda18212 tuner is implemented as a I2C driver. Use em28xx tuner I2C client for tda18212 driver. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
parent
f80f2ae213
commit
ac7a24fb75
1 changed files with 26 additions and 6 deletions
|
@ -373,7 +373,6 @@ static struct tda18271_config kworld_ub435q_v2_config = {
|
|||
};
|
||||
|
||||
static struct tda18212_config kworld_ub435q_v3_config = {
|
||||
.i2c_address = 0x60,
|
||||
.if_atsc_vsb = 3600,
|
||||
.if_atsc_qam = 3600,
|
||||
};
|
||||
|
@ -1437,6 +1436,15 @@ static int em28xx_dvb_init(struct em28xx *dev)
|
|||
}
|
||||
break;
|
||||
case EM2874_BOARD_KWORLD_UB435Q_V3:
|
||||
{
|
||||
struct i2c_client *client;
|
||||
struct i2c_adapter *adapter = &dev->i2c_adap[dev->def_i2c_bus];
|
||||
struct i2c_board_info board_info = {
|
||||
.type = "tda18212",
|
||||
.addr = 0x60,
|
||||
.platform_data = &kworld_ub435q_v3_config,
|
||||
};
|
||||
|
||||
dvb->fe[0] = dvb_attach(lgdt3305_attach,
|
||||
&em2874_lgdt3305_nogate_dev,
|
||||
&dev->i2c_adap[dev->def_i2c_bus]);
|
||||
|
@ -1445,14 +1453,26 @@ static int em28xx_dvb_init(struct em28xx *dev)
|
|||
goto out_free;
|
||||
}
|
||||
|
||||
/* Attach the demodulator. */
|
||||
if (!dvb_attach(tda18212_attach, dvb->fe[0],
|
||||
&dev->i2c_adap[dev->def_i2c_bus],
|
||||
&kworld_ub435q_v3_config)) {
|
||||
result = -EINVAL;
|
||||
/* attach tuner */
|
||||
kworld_ub435q_v3_config.fe = dvb->fe[0];
|
||||
request_module("tda18212");
|
||||
client = i2c_new_device(adapter, &board_info);
|
||||
if (client == NULL || client->dev.driver == NULL) {
|
||||
dvb_frontend_detach(dvb->fe[0]);
|
||||
result = -ENODEV;
|
||||
goto out_free;
|
||||
}
|
||||
|
||||
if (!try_module_get(client->dev.driver->owner)) {
|
||||
i2c_unregister_device(client);
|
||||
dvb_frontend_detach(dvb->fe[0]);
|
||||
result = -ENODEV;
|
||||
goto out_free;
|
||||
}
|
||||
|
||||
dvb->i2c_client_tuner = client;
|
||||
break;
|
||||
}
|
||||
case EM2874_BOARD_PCTV_HD_MINI_80E:
|
||||
dvb->fe[0] = dvb_attach(drx39xxj_attach, &dev->i2c_adap[dev->def_i2c_bus]);
|
||||
if (dvb->fe[0] != NULL) {
|
||||
|
|
Loading…
Reference in a new issue