diff options
author | Antti Palosaari <crope@iki.fi> | 2012-06-14 23:52:42 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-08-04 06:56:33 -0400 |
commit | ad2618393168a72f079265023ddc68f2a89ccc9f (patch) | |
tree | 2c5e44ec71f0b8d2ffc86159672da9e500de4f24 /drivers/media/dvb/dvb-usb | |
parent | 6e3a5daa6ee7a0eae3b2161ed4783fee547654c2 (diff) |
[media] dvb_usb_v2: simplify remote init/exit logic
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/dvb-usb')
-rw-r--r-- | drivers/media/dvb/dvb-usb/dvb_usb.h | 1 | ||||
-rw-r--r-- | drivers/media/dvb/dvb-usb/dvb_usb_init.c | 11 |
2 files changed, 6 insertions, 6 deletions
diff --git a/drivers/media/dvb/dvb-usb/dvb_usb.h b/drivers/media/dvb/dvb-usb/dvb_usb.h index a972de6f848..62097f38bb1 100644 --- a/drivers/media/dvb/dvb-usb/dvb_usb.h +++ b/drivers/media/dvb/dvb-usb/dvb_usb.h | |||
@@ -328,7 +328,6 @@ struct dvb_usb_device { | |||
328 | #define DVB_USB_STATE_INIT 0x000 | 328 | #define DVB_USB_STATE_INIT 0x000 |
329 | #define DVB_USB_STATE_I2C 0x001 | 329 | #define DVB_USB_STATE_I2C 0x001 |
330 | #define DVB_USB_STATE_DVB 0x002 | 330 | #define DVB_USB_STATE_DVB 0x002 |
331 | #define DVB_USB_STATE_REMOTE 0x004 | ||
332 | int state; | 331 | int state; |
333 | 332 | ||
334 | int powered; | 333 | int powered; |
diff --git a/drivers/media/dvb/dvb-usb/dvb_usb_init.c b/drivers/media/dvb/dvb-usb/dvb_usb_init.c index cea33433150..5da4233501f 100644 --- a/drivers/media/dvb/dvb-usb/dvb_usb_init.c +++ b/drivers/media/dvb/dvb-usb/dvb_usb_init.c | |||
@@ -137,6 +137,8 @@ static int dvb_usbv2_remote_init(struct dvb_usb_device *d) | |||
137 | int ret; | 137 | int ret; |
138 | struct rc_dev *dev; | 138 | struct rc_dev *dev; |
139 | 139 | ||
140 | pr_debug("%s:\n", __func__); | ||
141 | |||
140 | if (dvb_usbv2_disable_rc_polling || !d->props->get_rc_config) | 142 | if (dvb_usbv2_disable_rc_polling || !d->props->get_rc_config) |
141 | return 0; | 143 | return 0; |
142 | 144 | ||
@@ -190,8 +192,6 @@ static int dvb_usbv2_remote_init(struct dvb_usb_device *d) | |||
190 | msecs_to_jiffies(d->rc.interval)); | 192 | msecs_to_jiffies(d->rc.interval)); |
191 | } | 193 | } |
192 | 194 | ||
193 | d->state |= DVB_USB_STATE_REMOTE; | ||
194 | |||
195 | return 0; | 195 | return 0; |
196 | err: | 196 | err: |
197 | pr_debug("%s: failed=%d\n", __func__, ret); | 197 | pr_debug("%s: failed=%d\n", __func__, ret); |
@@ -200,13 +200,14 @@ err: | |||
200 | 200 | ||
201 | static int dvb_usbv2_remote_exit(struct dvb_usb_device *d) | 201 | static int dvb_usbv2_remote_exit(struct dvb_usb_device *d) |
202 | { | 202 | { |
203 | if (d->state & DVB_USB_STATE_REMOTE) { | 203 | pr_debug("%s:\n", __func__); |
204 | |||
205 | if (d->rc_dev) { | ||
204 | cancel_delayed_work_sync(&d->rc_query_work); | 206 | cancel_delayed_work_sync(&d->rc_query_work); |
205 | rc_unregister_device(d->rc_dev); | 207 | rc_unregister_device(d->rc_dev); |
208 | d->rc_dev = NULL; | ||
206 | } | 209 | } |
207 | 210 | ||
208 | d->state &= ~DVB_USB_STATE_REMOTE; | ||
209 | |||
210 | return 0; | 211 | return 0; |
211 | } | 212 | } |
212 | 213 | ||