media: pvrusb2: Add i2c client demod/tuner support
i2c client device is the "new" method to attach to dvb modules, include support for this functionality. Cleanup code has been added to init in case of failure, as well as to frontend exit. Required by Hauppauge HVR-1975 Signed-off-by: Brad Love <brad@nextdimension.cc> Reviewed-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:

committed by
Mauro Carvalho Chehab

parent
cac821d2ea
commit
6f6be37160
@@ -404,6 +404,9 @@ fail_tuner:
|
||||
fail_frontend0:
|
||||
dvb_frontend_detach(adap->fe[0]);
|
||||
adap->fe[0] = NULL;
|
||||
dvb_module_release(adap->i2c_client_tuner);
|
||||
dvb_module_release(adap->i2c_client_demod[1]);
|
||||
dvb_module_release(adap->i2c_client_demod[0]);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -420,6 +423,14 @@ static int pvr2_dvb_frontend_exit(struct pvr2_dvb_adapter *adap)
|
||||
dvb_frontend_detach(adap->fe[0]);
|
||||
adap->fe[0] = NULL;
|
||||
}
|
||||
|
||||
dvb_module_release(adap->i2c_client_tuner);
|
||||
adap->i2c_client_tuner = NULL;
|
||||
dvb_module_release(adap->i2c_client_demod[1]);
|
||||
adap->i2c_client_demod[1] = NULL;
|
||||
dvb_module_release(adap->i2c_client_demod[0]);
|
||||
adap->i2c_client_demod[0] = NULL;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user