aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Schwarzott <zzam@gentoo.org>2016-07-26 03:09:04 -0400
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2016-09-22 11:54:49 -0400
commitd28d7f852ee4028e41932891e55664abe75f00de (patch)
tree0d96d2c35468555b7e99d370050ff97f53f328f1
parent7cb278b009749140110159e12093a3ec4cb98435 (diff)
[media] cx231xx: Prepare for attaching new style i2c_client DVB demod drivers
cx231xx does not yet support attaching new-style i2c_client DVB demod drivers. Add necessary code base on tuner support for i2c_client. Signed-off-by: Matthias Schwarzott <zzam@gentoo.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
-rw-r--r--drivers/media/usb/cx231xx/cx231xx-dvb.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/media/usb/cx231xx/cx231xx-dvb.c b/drivers/media/usb/cx231xx/cx231xx-dvb.c
index ab2fb9fa0cd1..f03034588343 100644
--- a/drivers/media/usb/cx231xx/cx231xx-dvb.c
+++ b/drivers/media/usb/cx231xx/cx231xx-dvb.c
@@ -65,6 +65,7 @@ struct cx231xx_dvb {
65 struct dmx_frontend fe_hw; 65 struct dmx_frontend fe_hw;
66 struct dmx_frontend fe_mem; 66 struct dmx_frontend fe_mem;
67 struct dvb_net net; 67 struct dvb_net net;
68 struct i2c_client *i2c_client_demod;
68 struct i2c_client *i2c_client_tuner; 69 struct i2c_client *i2c_client_tuner;
69}; 70};
70 71
@@ -586,8 +587,14 @@ static void unregister_dvb(struct cx231xx_dvb *dvb)
586 dvb->demux.dmx.remove_frontend(&dvb->demux.dmx, &dvb->fe_hw); 587 dvb->demux.dmx.remove_frontend(&dvb->demux.dmx, &dvb->fe_hw);
587 dvb_dmxdev_release(&dvb->dmxdev); 588 dvb_dmxdev_release(&dvb->dmxdev);
588 dvb_dmx_release(&dvb->demux); 589 dvb_dmx_release(&dvb->demux);
589 client = dvb->i2c_client_tuner;
590 /* remove I2C tuner */ 590 /* remove I2C tuner */
591 client = dvb->i2c_client_tuner;
592 if (client) {
593 module_put(client->dev.driver->owner);
594 i2c_unregister_device(client);
595 }
596 /* remove I2C demod */
597 client = dvb->i2c_client_demod;
591 if (client) { 598 if (client) {
592 module_put(client->dev.driver->owner); 599 module_put(client->dev.driver->owner);
593 i2c_unregister_device(client); 600 i2c_unregister_device(client);