Lines Matching refs:ir
48 #define ir_dbg(ir, fmt, arg...) do { \ argument
50 printk(KERN_DEBUG pr_fmt("ir %s: " fmt), ir->name, ## arg); \
60 struct saa7134_card_ir *ir = dev->remote; in build_key() local
75 if (ir->polling) { in build_key()
76 if (ir->last_gpio == gpio) in build_key()
78 ir->last_gpio = gpio; in build_key()
81 data = ir_extract_bits(gpio, ir->mask_keycode); in build_key()
83 gpio, ir->mask_keycode, data); in build_key()
87 if (data == ir->mask_keycode) in build_key()
88 rc_keyup(ir->dev); in build_key()
90 rc_keydown_notimeout(ir->dev, RC_TYPE_UNKNOWN, data, 0); in build_key()
94 if (ir->polling) { in build_key()
95 if ((ir->mask_keydown && (0 != (gpio & ir->mask_keydown))) || in build_key()
96 (ir->mask_keyup && (0 == (gpio & ir->mask_keyup)))) { in build_key()
97 rc_keydown_notimeout(ir->dev, RC_TYPE_UNKNOWN, data, 0); in build_key()
99 rc_keyup(ir->dev); in build_key()
103 if ((ir->mask_keydown && (0 != (gpio & ir->mask_keydown))) || in build_key()
104 (ir->mask_keyup && (0 == (gpio & ir->mask_keyup)))) { in build_key()
105 rc_keydown_notimeout(ir->dev, RC_TYPE_UNKNOWN, data, 0); in build_key()
106 rc_keyup(ir->dev); in build_key()
115 static int get_key_flydvb_trio(struct IR_i2c *ir, enum rc_type *protocol, in get_key_flydvb_trio() argument
123 struct saa7134_dev *dev = ir->c->adapter->algo_data; in get_key_flydvb_trio()
126 ir_dbg(ir, "get_key_flydvb_trio: " in get_key_flydvb_trio()
144 while (1 != i2c_master_send(ir->c, &b, 1)) { in get_key_flydvb_trio()
153 ir_dbg(ir, "send wake up byte to pic16C505 (IR chip)" in get_key_flydvb_trio()
157 if (1 != i2c_master_recv(ir->c, &b, 1)) { in get_key_flydvb_trio()
158 ir_dbg(ir, "read error\n"); in get_key_flydvb_trio()
168 static int get_key_msi_tvanywhere_plus(struct IR_i2c *ir, enum rc_type *protocol, in get_key_msi_tvanywhere_plus() argument
175 struct saa7134_dev *dev = ir->c->adapter->algo_data; in get_key_msi_tvanywhere_plus()
177 ir_dbg(ir, "get_key_msi_tvanywhere_plus: " in get_key_msi_tvanywhere_plus()
197 if (1 != i2c_master_recv(ir->c, &b, 1)) { in get_key_msi_tvanywhere_plus()
198 ir_dbg(ir, "read error\n"); in get_key_msi_tvanywhere_plus()
217 static int get_key_kworld_pc150u(struct IR_i2c *ir, enum rc_type *protocol, in get_key_kworld_pc150u() argument
224 struct saa7134_dev *dev = ir->c->adapter->algo_data; in get_key_kworld_pc150u()
226 ir_dbg(ir, "get_key_kworld_pc150u: " in get_key_kworld_pc150u()
246 if (1 != i2c_master_recv(ir->c, &b, 1)) { in get_key_kworld_pc150u()
247 ir_dbg(ir, "read error\n"); in get_key_kworld_pc150u()
265 static int get_key_purpletv(struct IR_i2c *ir, enum rc_type *protocol, in get_key_purpletv() argument
271 if (1 != i2c_master_recv(ir->c, &b, 1)) { in get_key_purpletv()
272 ir_dbg(ir, "read error\n"); in get_key_purpletv()
290 static int get_key_hvr1110(struct IR_i2c *ir, enum rc_type *protocol, in get_key_hvr1110() argument
296 if (5 != i2c_master_recv(ir->c, buf, 5)) in get_key_hvr1110()
321 static int get_key_beholdm6xx(struct IR_i2c *ir, enum rc_type *protocol, in get_key_beholdm6xx() argument
327 struct saa7134_dev *dev = ir->c->adapter->algo_data; in get_key_beholdm6xx()
338 ir->c->addr = 0x5a >> 1; in get_key_beholdm6xx()
340 if (12 != i2c_master_recv(ir->c, data, 12)) { in get_key_beholdm6xx()
341 ir_dbg(ir, "read error\n"); in get_key_beholdm6xx()
357 static int get_key_pinnacle(struct IR_i2c *ir, enum rc_type *protocol, in get_key_pinnacle() argument
365 if (4 != i2c_master_recv(ir->c, b, 4)) { in get_key_pinnacle()
366 ir_dbg(ir, "read error\n"); in get_key_pinnacle()
382 if (ir->old == parity) in get_key_pinnacle()
385 ir->old = parity; in get_key_pinnacle()
398 ir_dbg(ir, "Pinnacle PCTV key %02x\n", code); in get_key_pinnacle()
411 static int get_key_pinnacle_grey(struct IR_i2c *ir, enum rc_type *protocol, in get_key_pinnacle_grey() argument
415 return get_key_pinnacle(ir, protocol, scancode, toggle, 1, 0xfe, 0xff); in get_key_pinnacle_grey()
423 static int get_key_pinnacle_color(struct IR_i2c *ir, enum rc_type *protocol, in get_key_pinnacle_color() argument
432 return get_key_pinnacle(ir, protocol, scancode, toggle, 2, 0x80, 0x88); in get_key_pinnacle_color()
437 struct saa7134_card_ir *ir; in saa7134_input_irq() local
442 ir = dev->remote; in saa7134_input_irq()
443 if (!ir->running) in saa7134_input_irq()
446 if (!ir->polling && !ir->raw_decode) { in saa7134_input_irq()
448 } else if (ir->raw_decode) { in saa7134_input_irq()
456 struct saa7134_card_ir *ir = dev->remote; in saa7134_input_timer() local
459 mod_timer(&ir->timer, jiffies + msecs_to_jiffies(ir->polling)); in saa7134_input_timer()
472 struct saa7134_card_ir *ir; in __saa7134_ir_start() local
477 ir = dev->remote; in __saa7134_ir_start()
478 if (ir->running) in __saa7134_ir_start()
517 ir->running = true; in __saa7134_ir_start()
519 if (ir->polling) { in __saa7134_ir_start()
520 setup_timer(&ir->timer, saa7134_input_timer, in __saa7134_ir_start()
522 ir->timer.expires = jiffies + HZ; in __saa7134_ir_start()
523 add_timer(&ir->timer); in __saa7134_ir_start()
524 } else if (ir->raw_decode) { in __saa7134_ir_start()
526 setup_timer(&ir->timer, ir_raw_decode_timer_end, in __saa7134_ir_start()
536 struct saa7134_card_ir *ir; in __saa7134_ir_stop() local
541 ir = dev->remote; in __saa7134_ir_stop()
542 if (!ir->running) in __saa7134_ir_stop()
545 if (ir->polling || ir->raw_decode) in __saa7134_ir_stop()
546 del_timer_sync(&ir->timer); in __saa7134_ir_stop()
548 ir->running = false; in __saa7134_ir_stop()
586 struct saa7134_card_ir *ir; in saa7134_input_init1() local
851 ir = kzalloc(sizeof(*ir), GFP_KERNEL); in saa7134_input_init1()
853 if (!ir || !rc) { in saa7134_input_init1()
858 ir->dev = rc; in saa7134_input_init1()
859 dev->remote = ir; in saa7134_input_init1()
862 ir->mask_keycode = mask_keycode; in saa7134_input_init1()
863 ir->mask_keydown = mask_keydown; in saa7134_input_init1()
864 ir->mask_keyup = mask_keyup; in saa7134_input_init1()
865 ir->polling = polling; in saa7134_input_init1()
866 ir->raw_decode = raw_decode; in saa7134_input_init1()
869 snprintf(ir->name, sizeof(ir->name), "saa7134 IR (%s)", in saa7134_input_init1()
871 snprintf(ir->phys, sizeof(ir->phys), "pci-%s/ir0", in saa7134_input_init1()
880 rc->input_name = ir->name; in saa7134_input_init1()
881 rc->input_phys = ir->phys; in saa7134_input_init1()
904 kfree(ir); in saa7134_input_init1()
1045 struct saa7134_card_ir *ir = dev->remote; in saa7134_raw_decode_irq() local
1052 space = saa_readl(SAA7134_GPIO_GPSTATUS0 >> 2) & ir->mask_keydown; in saa7134_raw_decode_irq()
1062 if (!timer_pending(&ir->timer)) { in saa7134_raw_decode_irq()
1064 mod_timer(&ir->timer, timeout); in saa7134_raw_decode_irq()