summaryrefslogtreecommitdiff
path: root/drivers/media/rc
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/rc')
-rw-r--r--drivers/media/rc/igorplugusb.c2
-rw-r--r--drivers/media/rc/imon.c4
-rw-r--r--drivers/media/rc/imon_raw.c18
-rw-r--r--drivers/media/rc/ir-spi.c1
-rw-r--r--drivers/media/rc/ir_toy.c23
-rw-r--r--drivers/media/rc/mceusb.c2
-rw-r--r--drivers/media/rc/ttusbir.c2
7 files changed, 18 insertions, 34 deletions
diff --git a/drivers/media/rc/igorplugusb.c b/drivers/media/rc/igorplugusb.c
index 3e10f6fe89f8..b5117ee9f5fa 100644
--- a/drivers/media/rc/igorplugusb.c
+++ b/drivers/media/rc/igorplugusb.c
@@ -184,7 +184,7 @@ static int igorplugusb_probe(struct usb_interface *intf,
if (!ir->buf_in)
goto fail;
usb_fill_control_urb(ir->urb, udev,
- usb_rcvctrlpipe(udev, 0), (uint8_t *)&ir->request,
+ usb_rcvctrlpipe(udev, 0), (uint8_t *)ir->request,
ir->buf_in, MAX_PACKET, igorplugusb_callback, ir);
usb_make_path(udev, ir->phys, sizeof(ir->phys));
diff --git a/drivers/media/rc/imon.c b/drivers/media/rc/imon.c
index 9bb27ba8240f..049a73b5f882 100644
--- a/drivers/media/rc/imon.c
+++ b/drivers/media/rc/imon.c
@@ -290,6 +290,10 @@ static const struct imon_usb_dev_descr imon_OEM_VFD = {
{ 0x000100000000ffeell, KEY_VOLUMEUP },
{ 0x010000000000ffeell, KEY_VOLUMEDOWN },
{ 0x000000000100ffeell, KEY_MUTE },
+ /* iMON VFD HID OEM v1.2 */
+ { 0x000000000a00ffeell, KEY_VOLUMEUP },
+ { 0x000000000b00ffeell, KEY_VOLUMEDOWN },
+ { 0x000000000c00ffeell, KEY_MUTE },
/* 0xffdc iMON MCE VFD */
{ 0x00010000ffffffeell, KEY_VOLUMEUP },
{ 0x01000000ffffffeell, KEY_VOLUMEDOWN },
diff --git a/drivers/media/rc/imon_raw.c b/drivers/media/rc/imon_raw.c
index 3a526dea6532..295acd6ba9e1 100644
--- a/drivers/media/rc/imon_raw.c
+++ b/drivers/media/rc/imon_raw.c
@@ -105,26 +105,16 @@ static void imon_ir_rx(struct urb *urb)
static int imon_probe(struct usb_interface *intf,
const struct usb_device_id *id)
{
- struct usb_endpoint_descriptor *ir_ep = NULL;
- struct usb_host_interface *idesc;
+ struct usb_endpoint_descriptor *ir_ep;
struct usb_device *udev;
struct rc_dev *rcdev;
struct imon *imon;
- int i, ret;
+ int ret;
udev = interface_to_usbdev(intf);
- idesc = intf->cur_altsetting;
-
- for (i = 0; i < idesc->desc.bNumEndpoints; i++) {
- struct usb_endpoint_descriptor *ep = &idesc->endpoint[i].desc;
-
- if (usb_endpoint_is_int_in(ep)) {
- ir_ep = ep;
- break;
- }
- }
- if (!ir_ep) {
+ ret = usb_find_int_in_endpoint(intf->cur_altsetting, &ir_ep);
+ if (ret) {
dev_err(&intf->dev, "IR endpoint missing");
return -ENODEV;
}
diff --git a/drivers/media/rc/ir-spi.c b/drivers/media/rc/ir-spi.c
index 392441e0c116..31eb58b06c70 100644
--- a/drivers/media/rc/ir-spi.c
+++ b/drivers/media/rc/ir-spi.c
@@ -8,7 +8,6 @@
#include <linux/device.h>
#include <linux/err.h>
#include <linux/math.h>
-#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/property.h>
#include <linux/regulator/consumer.h>
diff --git a/drivers/media/rc/ir_toy.c b/drivers/media/rc/ir_toy.c
index 089833e41178..ee645882dd5a 100644
--- a/drivers/media/rc/ir_toy.c
+++ b/drivers/media/rc/ir_toy.c
@@ -393,27 +393,15 @@ static int irtoy_probe(struct usb_interface *intf,
{
struct usb_host_interface *idesc = intf->cur_altsetting;
struct usb_device *usbdev = interface_to_usbdev(intf);
- struct usb_endpoint_descriptor *ep_in = NULL;
- struct usb_endpoint_descriptor *ep_out = NULL;
- struct usb_endpoint_descriptor *ep = NULL;
+ struct usb_endpoint_descriptor *ep_in, *ep_out;
struct irtoy *irtoy;
struct rc_dev *rc;
struct urb *urb;
- int i, pipe, err = -ENOMEM;
+ int pipe, err;
- for (i = 0; i < idesc->desc.bNumEndpoints; i++) {
- ep = &idesc->endpoint[i].desc;
-
- if (!ep_in && usb_endpoint_is_bulk_in(ep) &&
- usb_endpoint_maxp(ep) == MAX_PACKET)
- ep_in = ep;
-
- if (!ep_out && usb_endpoint_is_bulk_out(ep) &&
- usb_endpoint_maxp(ep) == MAX_PACKET)
- ep_out = ep;
- }
-
- if (!ep_in || !ep_out) {
+ err = usb_find_common_endpoints(idesc, &ep_in, &ep_out, NULL, NULL);
+ if (err || usb_endpoint_maxp(ep_in) != MAX_PACKET ||
+ usb_endpoint_maxp(ep_out) != MAX_PACKET) {
dev_err(&intf->dev, "required endpoints not found\n");
return -ENODEV;
}
@@ -422,6 +410,7 @@ static int irtoy_probe(struct usb_interface *intf,
if (!irtoy)
return -ENOMEM;
+ err = -ENOMEM;
irtoy->in = kmalloc(MAX_PACKET, GFP_KERNEL);
if (!irtoy->in)
goto free_irtoy;
diff --git a/drivers/media/rc/mceusb.c b/drivers/media/rc/mceusb.c
index 6a9e4382a224..39ba7f6a2549 100644
--- a/drivers/media/rc/mceusb.c
+++ b/drivers/media/rc/mceusb.c
@@ -397,6 +397,8 @@ static const struct usb_device_id mceusb_dev_table[] = {
{ USB_DEVICE(VENDOR_COMPRO, 0x3082) },
/* Northstar Systems, Inc. eHome Infrared Transceiver */
{ USB_DEVICE(VENDOR_NORTHSTAR, 0xe004) },
+ /* Northstar Systems, Inc. eHome Infrared Transceiver - variant */
+ { USB_DEVICE(VENDOR_NORTHSTAR, 0xe033) },
/* TiVo PC IR Receiver */
{ USB_DEVICE(VENDOR_TIVO, 0x2000),
.driver_info = TIVO_KIT },
diff --git a/drivers/media/rc/ttusbir.c b/drivers/media/rc/ttusbir.c
index 3848ad3a6b85..db2f6698a6c0 100644
--- a/drivers/media/rc/ttusbir.c
+++ b/drivers/media/rc/ttusbir.c
@@ -191,7 +191,7 @@ static int ttusbir_probe(struct usb_interface *intf,
tt = kzalloc_obj(*tt);
buffer = kzalloc(5, GFP_KERNEL);
rc = rc_allocate_device(RC_DRIVER_IR_RAW);
- if (!tt || !rc || buffer) {
+ if (!tt || !rc || !buffer) {
ret = -ENOMEM;
goto out;
}