Lines Matching defs:ir

33 		dev_printk(KERN_DEBUG, &ir->dev->intf->dev,		\
63 int (*get_key_i2c)(struct i2c_client *ir, enum rc_proto *protocol,
65 int (*get_key)(struct em28xx_IR *ir, struct em28xx_ir_poll_result *r);
69 * I2C IR based get keycodes - should be used with ir-kbd-i2c
194 static int default_polling_getkey(struct em28xx_IR *ir,
197 struct em28xx *dev = ir->dev;
217 switch (ir->rc_proto) {
237 static int em2874_polling_getkey(struct em28xx_IR *ir,
240 struct em28xx *dev = ir->dev;
263 switch (ir->rc_proto) {
293 static int em28xx_i2c_ir_handle_key(struct em28xx_IR *ir)
299 rc = ir->get_key_i2c(ir->i2c_client, &protocol, &scancode);
301 dprintk("ir->get_key_i2c() failed: %d\n", rc);
308 rc_keydown(ir->rc, protocol, scancode, 0);
313 static void em28xx_ir_handle_key(struct em28xx_IR *ir)
319 result = ir->get_key(ir, &poll_result);
321 dprintk("ir->get_key() failed: %d\n", result);
325 if (unlikely(poll_result.read_count != ir->last_readcount)) {
329 if (ir->full_code)
330 rc_keydown(ir->rc,
335 rc_keydown(ir->rc,
340 if (ir->dev->chip_id == CHIP_ID_EM2874 ||
341 ir->dev->chip_id == CHIP_ID_EM2884)
350 ir->last_readcount = 0;
352 ir->last_readcount = poll_result.read_count;
358 struct em28xx_IR *ir = container_of(work, struct em28xx_IR, work.work);
360 if (ir->i2c_client) /* external i2c device */
361 em28xx_i2c_ir_handle_key(ir);
363 em28xx_ir_handle_key(ir);
364 schedule_delayed_work(&ir->work, msecs_to_jiffies(ir->polling));
369 struct em28xx_IR *ir = rc->priv;
371 INIT_DELAYED_WORK(&ir->work, em28xx_ir_work);
372 schedule_delayed_work(&ir->work, 0);
379 struct em28xx_IR *ir = rc->priv;
381 cancel_delayed_work_sync(&ir->work);
386 struct em28xx_IR *ir = rc_dev->priv;
387 struct em28xx *dev = ir->dev;
392 ir->full_code = 1;
396 ir->full_code = 1;
401 *rc_proto = ir->rc_proto;
407 ir->rc_proto = *rc_proto;
414 struct em28xx_IR *ir = rc_dev->priv;
415 struct em28xx *dev = ir->dev;
421 ir->full_code = 1;
426 ir->full_code = 1;
431 ir->full_code = 1;
436 *rc_proto = ir->rc_proto;
443 ir->rc_proto = *rc_proto;
450 struct em28xx_IR *ir = rc_dev->priv;
451 struct em28xx *dev = ir->dev;
464 dev_err(&ir->dev->intf->dev,
690 struct em28xx_IR *ir;
727 ir = kzalloc(sizeof(*ir), GFP_KERNEL);
728 if (!ir)
735 ir->dev = dev;
736 dev->ir = ir;
737 ir->rc = rc;
739 rc->priv = ir;
748 ir->get_key_i2c = em28xx_get_key_terratec;
752 ir->get_key_i2c = em28xx_get_key_pinnacle_usb_grey;
756 ir->get_key_i2c = em28xx_get_key_em_haup;
761 ir->get_key_i2c = em28xx_get_key_winfast_usbii_deluxe;
768 ir->i2c_client = kzalloc(sizeof(*ir->i2c_client), GFP_KERNEL);
769 if (!ir->i2c_client)
771 ir->i2c_client->adapter = &ir->dev->i2c_adap[dev->def_i2c_bus];
772 ir->i2c_client->addr = i2c_rc_dev_addr;
773 ir->i2c_client->flags = 0;
781 ir->get_key = default_polling_getkey;
787 ir->get_key = em2874_polling_getkey;
808 ir->polling = 100; /* ms */
810 usb_make_path(udev, ir->phys, sizeof(ir->phys));
811 strlcat(ir->phys, "/input0", sizeof(ir->phys));
814 rc->input_phys = ir->phys;
829 kfree(ir->i2c_client);
830 dev->ir = NULL;
832 kfree(ir);
840 struct em28xx_IR *ir = dev->ir;
852 if (!ir)
855 rc_unregister_device(ir->rc);
857 kfree(ir->i2c_client);
860 kfree(ir);
861 dev->ir = NULL;
871 struct em28xx_IR *ir = dev->ir;
877 if (ir)
878 cancel_delayed_work_sync(&ir->work);
890 struct em28xx_IR *ir = dev->ir;
900 if (ir)
901 schedule_delayed_work(&ir->work, msecs_to_jiffies(ir->polling));