summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/media/dvb-frontends/rtl2832.c24
-rw-r--r--drivers/media/dvb-frontends/rtl2832_priv.h1
2 files changed, 4 insertions, 21 deletions
diff --git a/drivers/media/dvb-frontends/rtl2832.c b/drivers/media/dvb-frontends/rtl2832.c
index e80c6b974f4c..eaa74b0c8609 100644
--- a/drivers/media/dvb-frontends/rtl2832.c
+++ b/drivers/media/dvb-frontends/rtl2832.c
@@ -868,15 +868,10 @@ static int rtl2832_select(struct i2c_adapter *adap, void *mux_priv, u32 chan_id)
cancel_delayed_work(&dev->i2c_gate_work);
/*
- * chan_id 1 is muxed adapter demod provides and chan_id 0 is demod
- * itself. We need open gate when request is for chan_id 1. On that case
* I2C adapter lock is already taken and due to that we will use
* regmap_update_bits() which does not lock again I2C adapter.
*/
- if (chan_id == 1)
- ret = regmap_update_bits(dev->regmap, 0x101, 0x08, 0x08);
- else
- ret = rtl2832_update_bits(dev->client, 0x101, 0x08, 0x00);
+ ret = regmap_update_bits(dev->regmap, 0x101, 0x08, 0x08);
if (ret)
goto err;
@@ -1224,25 +1219,18 @@ static int rtl2832_probe(struct i2c_client *client,
ret = PTR_ERR(dev->regmap);
goto err_kfree;
}
- /* create muxed i2c adapter for demod itself */
- dev->i2c_adapter = i2c_add_mux_adapter(i2c, &i2c->dev, dev, 0, 0, 0,
- rtl2832_select, NULL);
- if (dev->i2c_adapter == NULL) {
- ret = -ENODEV;
- goto err_regmap_exit;
- }
/* check if the demod is there */
ret = rtl2832_bulk_read(client, 0x000, &tmp, 1);
if (ret)
- goto err_i2c_del_mux_adapter;
+ goto err_regmap_exit;
/* create muxed i2c adapter for demod tuner bus */
dev->i2c_adapter_tuner = i2c_add_mux_adapter(i2c, &i2c->dev, dev,
- 0, 1, 0, rtl2832_select, rtl2832_deselect);
+ 0, 0, 0, rtl2832_select, rtl2832_deselect);
if (dev->i2c_adapter_tuner == NULL) {
ret = -ENODEV;
- goto err_i2c_del_mux_adapter;
+ goto err_regmap_exit;
}
/* create dvb_frontend */
@@ -1261,8 +1249,6 @@ static int rtl2832_probe(struct i2c_client *client,
dev_info(&client->dev, "Realtek RTL2832 successfully attached\n");
return 0;
-err_i2c_del_mux_adapter:
- i2c_del_mux_adapter(dev->i2c_adapter);
err_regmap_exit:
regmap_exit(dev->regmap);
err_kfree:
@@ -1282,8 +1268,6 @@ static int rtl2832_remove(struct i2c_client *client)
i2c_del_mux_adapter(dev->i2c_adapter_tuner);
- i2c_del_mux_adapter(dev->i2c_adapter);
-
regmap_exit(dev->regmap);
kfree(dev);
diff --git a/drivers/media/dvb-frontends/rtl2832_priv.h b/drivers/media/dvb-frontends/rtl2832_priv.h
index e25d7487ec06..9ff4f6530346 100644
--- a/drivers/media/dvb-frontends/rtl2832_priv.h
+++ b/drivers/media/dvb-frontends/rtl2832_priv.h
@@ -34,7 +34,6 @@ struct rtl2832_dev {
struct rtl2832_platform_data *pdata;
struct i2c_client *client;
struct regmap *regmap;
- struct i2c_adapter *i2c_adapter;
struct i2c_adapter *i2c_adapter_tuner;
struct dvb_frontend fe;
struct delayed_work stat_work;