diff options
Diffstat (limited to 'drivers/media/usb/tm6000/tm6000-input.c')
-rw-r--r-- | drivers/media/usb/tm6000/tm6000-input.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/drivers/media/usb/tm6000/tm6000-input.c b/drivers/media/usb/tm6000/tm6000-input.c index dffbd4bd47b1..8a6bbf1d80e1 100644 --- a/drivers/media/usb/tm6000/tm6000-input.c +++ b/drivers/media/usb/tm6000/tm6000-input.c | |||
@@ -109,12 +109,12 @@ static int tm6000_ir_config(struct tm6000_IR *ir) | |||
109 | */ | 109 | */ |
110 | 110 | ||
111 | switch (ir->rc_type) { | 111 | switch (ir->rc_type) { |
112 | case RC_TYPE_NEC: | 112 | case RC_BIT_NEC: |
113 | leader = 900; /* ms */ | 113 | leader = 900; /* ms */ |
114 | pulse = 700; /* ms - the actual value would be 562 */ | 114 | pulse = 700; /* ms - the actual value would be 562 */ |
115 | break; | 115 | break; |
116 | default: | 116 | default: |
117 | case RC_TYPE_RC5: | 117 | case RC_BIT_RC5: |
118 | leader = 900; /* ms - from the NEC decoding */ | 118 | leader = 900; /* ms - from the NEC decoding */ |
119 | pulse = 1780; /* ms - The actual value would be 1776 */ | 119 | pulse = 1780; /* ms - The actual value would be 1776 */ |
120 | break; | 120 | break; |
@@ -122,12 +122,12 @@ static int tm6000_ir_config(struct tm6000_IR *ir) | |||
122 | 122 | ||
123 | pulse = ir_clock_mhz * pulse; | 123 | pulse = ir_clock_mhz * pulse; |
124 | leader = ir_clock_mhz * leader; | 124 | leader = ir_clock_mhz * leader; |
125 | if (ir->rc_type == RC_TYPE_NEC) | 125 | if (ir->rc_type == RC_BIT_NEC) |
126 | leader = leader | 0x8000; | 126 | leader = leader | 0x8000; |
127 | 127 | ||
128 | dprintk(2, "%s: %s, %d MHz, leader = 0x%04x, pulse = 0x%06x \n", | 128 | dprintk(2, "%s: %s, %d MHz, leader = 0x%04x, pulse = 0x%06x \n", |
129 | __func__, | 129 | __func__, |
130 | (ir->rc_type == RC_TYPE_NEC) ? "NEC" : "RC-5", | 130 | (ir->rc_type == RC_BIT_NEC) ? "NEC" : "RC-5", |
131 | ir_clock_mhz, leader, pulse); | 131 | ir_clock_mhz, leader, pulse); |
132 | 132 | ||
133 | /* Remote WAKEUP = enable, normal mode, from IR decoder output */ | 133 | /* Remote WAKEUP = enable, normal mode, from IR decoder output */ |
@@ -297,7 +297,7 @@ static void tm6000_ir_stop(struct rc_dev *rc) | |||
297 | cancel_delayed_work_sync(&ir->work); | 297 | cancel_delayed_work_sync(&ir->work); |
298 | } | 298 | } |
299 | 299 | ||
300 | static int tm6000_ir_change_protocol(struct rc_dev *rc, u64 rc_type) | 300 | static int tm6000_ir_change_protocol(struct rc_dev *rc, u64 *rc_type) |
301 | { | 301 | { |
302 | struct tm6000_IR *ir = rc->priv; | 302 | struct tm6000_IR *ir = rc->priv; |
303 | 303 | ||
@@ -306,10 +306,10 @@ static int tm6000_ir_change_protocol(struct rc_dev *rc, u64 rc_type) | |||
306 | 306 | ||
307 | dprintk(2, "%s\n",__func__); | 307 | dprintk(2, "%s\n",__func__); |
308 | 308 | ||
309 | if ((rc->rc_map.scan) && (rc_type == RC_TYPE_NEC)) | 309 | if ((rc->rc_map.scan) && (*rc_type == RC_BIT_NEC)) |
310 | ir->key_addr = ((rc->rc_map.scan[0].scancode >> 8) & 0xffff); | 310 | ir->key_addr = ((rc->rc_map.scan[0].scancode >> 8) & 0xffff); |
311 | 311 | ||
312 | ir->rc_type = rc_type; | 312 | ir->rc_type = *rc_type; |
313 | 313 | ||
314 | tm6000_ir_config(ir); | 314 | tm6000_ir_config(ir); |
315 | /* TODO */ | 315 | /* TODO */ |
@@ -398,6 +398,7 @@ int tm6000_ir_init(struct tm6000_core *dev) | |||
398 | struct tm6000_IR *ir; | 398 | struct tm6000_IR *ir; |
399 | struct rc_dev *rc; | 399 | struct rc_dev *rc; |
400 | int err = -ENOMEM; | 400 | int err = -ENOMEM; |
401 | u64 rc_type; | ||
401 | 402 | ||
402 | if (!enable_ir) | 403 | if (!enable_ir) |
403 | return -ENODEV; | 404 | return -ENODEV; |
@@ -421,7 +422,7 @@ int tm6000_ir_init(struct tm6000_core *dev) | |||
421 | ir->rc = rc; | 422 | ir->rc = rc; |
422 | 423 | ||
423 | /* input setup */ | 424 | /* input setup */ |
424 | rc->allowed_protos = RC_TYPE_RC5 | RC_TYPE_NEC; | 425 | rc->allowed_protos = RC_BIT_RC5 | RC_BIT_NEC; |
425 | /* Neded, in order to support NEC remotes with 24 or 32 bits */ | 426 | /* Neded, in order to support NEC remotes with 24 or 32 bits */ |
426 | rc->scanmask = 0xffff; | 427 | rc->scanmask = 0xffff; |
427 | rc->priv = ir; | 428 | rc->priv = ir; |
@@ -444,7 +445,8 @@ int tm6000_ir_init(struct tm6000_core *dev) | |||
444 | usb_make_path(dev->udev, ir->phys, sizeof(ir->phys)); | 445 | usb_make_path(dev->udev, ir->phys, sizeof(ir->phys)); |
445 | strlcat(ir->phys, "/input0", sizeof(ir->phys)); | 446 | strlcat(ir->phys, "/input0", sizeof(ir->phys)); |
446 | 447 | ||
447 | tm6000_ir_change_protocol(rc, RC_TYPE_UNKNOWN); | 448 | rc_type = RC_BIT_UNKNOWN; |
449 | tm6000_ir_change_protocol(rc, &rc_type); | ||
448 | 450 | ||
449 | rc->input_name = ir->name; | 451 | rc->input_name = ir->name; |
450 | rc->input_phys = ir->phys; | 452 | rc->input_phys = ir->phys; |