[media] dvb_usb_v2: I2C adapter cleanup changes

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
Antti Palosaari 2012-06-09 21:37:11 -03:00 committed by Mauro Carvalho Chehab
parent 77f54517fd
commit 0fba999f13
1 changed files with 14 additions and 5 deletions

View File

@ -70,10 +70,12 @@ err:
int dvb_usbv2_i2c_init(struct dvb_usb_device *d)
{
int ret = 0;
int ret;
if (!d->props.i2c_algo)
return 0;
if (!d->props.i2c_algo) {
ret = 0;
goto err;
}
strlcpy(d->i2c_adap.name, d->name, sizeof(d->i2c_adap.name));
d->i2c_adap.algo = d->props.i2c_algo;
@ -83,11 +85,16 @@ int dvb_usbv2_i2c_init(struct dvb_usb_device *d)
i2c_set_adapdata(&d->i2c_adap, d);
ret = i2c_add_adapter(&d->i2c_adap);
if (ret < 0)
pr_err("%s: could not add i2c adapter\n", KBUILD_MODNAME);
if (ret < 0) {
pr_err("%s: i2c_add_adapter() failed\n", KBUILD_MODNAME);
goto err;
}
d->state |= DVB_USB_STATE_I2C;
return 0;
err:
pr_debug("%s: failed=%d\n", __func__, ret);
return ret;
}
@ -95,7 +102,9 @@ int dvb_usbv2_i2c_exit(struct dvb_usb_device *d)
{
if (d->state & DVB_USB_STATE_I2C)
i2c_del_adapter(&d->i2c_adap);
d->state &= ~DVB_USB_STATE_I2C;
return 0;
}