diff options
author | Matthias Schwarzott <zzam@gentoo.org> | 2016-07-26 03:09:04 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2016-09-22 11:54:49 -0400 |
commit | d28d7f852ee4028e41932891e55664abe75f00de (patch) | |
tree | 0d96d2c35468555b7e99d370050ff97f53f328f1 | |
parent | 7cb278b009749140110159e12093a3ec4cb98435 (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.c | 9 |
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); |