Lines Matching refs:rc

60 	struct rc_dev		*rc;  member
194 rc_keydown(ir->rc, protocol, scancode, 0); in tm6000_ir_keydown()
233 int rc; in tm6000_ir_handle_key() local
241 rc = tm6000_read_write_usb(dev, USB_DIR_IN | in tm6000_ir_handle_key()
244 if (rc < 0) in tm6000_ir_handle_key()
256 tm6000_ir_keydown(ir, buf, rc); in tm6000_ir_handle_key()
268 int rc; in tm6000_ir_int_work() local
277 rc = usb_submit_urb(ir->int_urb, GFP_ATOMIC); in tm6000_ir_int_work()
278 if (rc < 0) { in tm6000_ir_int_work()
280 rc); in tm6000_ir_int_work()
299 static int tm6000_ir_start(struct rc_dev *rc) in tm6000_ir_start() argument
301 struct tm6000_IR *ir = rc->priv; in tm6000_ir_start()
310 static void tm6000_ir_stop(struct rc_dev *rc) in tm6000_ir_stop() argument
312 struct tm6000_IR *ir = rc->priv; in tm6000_ir_stop()
319 static int tm6000_ir_change_protocol(struct rc_dev *rc, u64 *rc_type) in tm6000_ir_change_protocol() argument
321 struct tm6000_IR *ir = rc->priv; in tm6000_ir_change_protocol()
328 if ((rc->rc_map.scan) && (*rc_type == RC_BIT_NEC)) in tm6000_ir_change_protocol()
329 ir->key_addr = ((rc->rc_map.scan[0].scancode >> 8) & 0xffff); in tm6000_ir_change_protocol()
338 static int __tm6000_ir_int_start(struct rc_dev *rc) in __tm6000_ir_int_start() argument
340 struct tm6000_IR *ir = rc->priv; in __tm6000_ir_int_start()
380 static void __tm6000_ir_int_stop(struct rc_dev *rc) in __tm6000_ir_int_stop() argument
382 struct tm6000_IR *ir = rc->priv; in __tm6000_ir_int_stop()
402 return __tm6000_ir_int_start(ir->rc); in tm6000_ir_int_start()
409 if (!ir || !ir->rc) in tm6000_ir_int_stop()
412 __tm6000_ir_int_stop(ir->rc); in tm6000_ir_int_stop()
418 struct rc_dev *rc; in tm6000_ir_init() local
432 rc = rc_allocate_device(); in tm6000_ir_init()
433 if (!ir || !rc) in tm6000_ir_init()
441 ir->rc = rc; in tm6000_ir_init()
444 rc->allowed_protocols = RC_BIT_RC5 | RC_BIT_NEC; in tm6000_ir_init()
446 rc->scancode_mask = 0xffff; in tm6000_ir_init()
447 rc->priv = ir; in tm6000_ir_init()
448 rc->change_protocol = tm6000_ir_change_protocol; in tm6000_ir_init()
450 rc->open = __tm6000_ir_int_start; in tm6000_ir_init()
451 rc->close = __tm6000_ir_int_stop; in tm6000_ir_init()
454 rc->open = tm6000_ir_start; in tm6000_ir_init()
455 rc->close = tm6000_ir_stop; in tm6000_ir_init()
459 rc->driver_type = RC_DRIVER_SCANCODE; in tm6000_ir_init()
468 tm6000_ir_change_protocol(rc, &rc_type); in tm6000_ir_init()
470 rc->input_name = ir->name; in tm6000_ir_init()
471 rc->input_phys = ir->phys; in tm6000_ir_init()
472 rc->input_id.bustype = BUS_USB; in tm6000_ir_init()
473 rc->input_id.version = 1; in tm6000_ir_init()
474 rc->input_id.vendor = le16_to_cpu(dev->udev->descriptor.idVendor); in tm6000_ir_init()
475 rc->input_id.product = le16_to_cpu(dev->udev->descriptor.idProduct); in tm6000_ir_init()
476 rc->map_name = dev->ir_codes; in tm6000_ir_init()
477 rc->driver_name = "tm6000"; in tm6000_ir_init()
478 rc->dev.parent = &dev->udev->dev; in tm6000_ir_init()
481 err = rc_register_device(rc); in tm6000_ir_init()
489 rc_free_device(rc); in tm6000_ir_init()
506 __tm6000_ir_int_stop(ir->rc); in tm6000_ir_fini()
508 tm6000_ir_stop(ir->rc); in tm6000_ir_fini()
514 rc_unregister_device(ir->rc); in tm6000_ir_fini()