diff options
author | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-01-06 12:27:47 +0400 |
---|---|---|
committer | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-01-07 11:14:50 +0400 |
commit | 822b8deab870f8edc2d8a1848f61c054a8188de6 (patch) | |
tree | cf25672e6b74c037089a6c679163ca967a7460c3 /drivers/media/usb/em28xx/em28xx-input.c | |
parent | d8992b0931c1f9b1254d57b26b2965327337e7c6 (diff) | |
download | linux-822b8deab870f8edc2d8a1848f61c054a8188de6.tar.xz |
[media] em28xx: prevent registering wrong interfaces for audio-only
A few devices (em2860) use a separate interface for audio only
Audio Vendor Class USB. That interface should not be used by
Remote Controller, Analog TV or Digital TV.
Prevents initializing all non-audio extensions for the audio
only interface.
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/media/usb/em28xx/em28xx-input.c')
-rw-r--r-- | drivers/media/usb/em28xx/em28xx-input.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/media/usb/em28xx/em28xx-input.c b/drivers/media/usb/em28xx/em28xx-input.c index f3b629dd57ae..9a5dad96ff08 100644 --- a/drivers/media/usb/em28xx/em28xx-input.c +++ b/drivers/media/usb/em28xx/em28xx-input.c @@ -673,6 +673,11 @@ static int em28xx_ir_init(struct em28xx *dev) u64 rc_type; u16 i2c_rc_dev_addr = 0; + if (dev->is_audio_only) { + /* Shouldn't initialize IR for this interface */ + return 0; + } + if (dev->board.buttons) em28xx_init_buttons(dev); @@ -802,6 +807,11 @@ static int em28xx_ir_fini(struct em28xx *dev) { struct em28xx_IR *ir = dev->ir; + if (dev->is_audio_only) { + /* Shouldn't initialize IR for this interface */ + return 0; + } + em28xx_shutdown_buttons(dev); /* skip detach on non attached boards */ |