Lines Matching refs:imon
13 struct imon { struct
29 static void imon_ir_data(struct imon *imon) in imon_ir_data() argument
35 dev_dbg(imon->dev, "data: %*ph", 8, imon->ir_buf); in imon_ir_data()
39 while (!is_bit_set(imon->ir_buf, bit) && bit < size) in imon_ir_data()
41 dev_dbg(imon->dev, "pulse: %d bits", bit - offset); in imon_ir_data()
45 ir_raw_event_store_with_filter(imon->rcdev, &rawir); in imon_ir_data()
52 while (is_bit_set(imon->ir_buf, bit) && bit < size) in imon_ir_data()
54 dev_dbg(imon->dev, "space: %d bits", bit - offset); in imon_ir_data()
58 ir_raw_event_store_with_filter(imon->rcdev, &rawir); in imon_ir_data()
63 if (imon->ir_buf[7] == 0x0a) { in imon_ir_data()
64 ir_raw_event_set_idle(imon->rcdev, true); in imon_ir_data()
65 ir_raw_event_handle(imon->rcdev); in imon_ir_data()
71 struct imon *imon = urb->context; in imon_ir_rx() local
76 if (imon->ir_buf[7] != 0xff) in imon_ir_rx()
77 imon_ir_data(imon); in imon_ir_rx()
86 dev_dbg(imon->dev, "error: urb status = %d", urb->status); in imon_ir_rx()
92 dev_warn(imon->dev, "failed to resubmit urb: %d", ret); in imon_ir_rx()
102 struct imon *imon; in imon_probe() local
122 imon = devm_kmalloc(&intf->dev, sizeof(*imon), GFP_KERNEL); in imon_probe()
123 if (!imon) in imon_probe()
126 imon->ir_urb = usb_alloc_urb(0, GFP_KERNEL); in imon_probe()
127 if (!imon->ir_urb) in imon_probe()
130 imon->dev = &intf->dev; in imon_probe()
131 usb_fill_int_urb(imon->ir_urb, udev, in imon_probe()
133 imon->ir_buf, sizeof(imon->ir_buf), in imon_probe()
134 imon_ir_rx, imon, ir_ep->bInterval); in imon_probe()
142 usb_make_path(udev, imon->phys, sizeof(imon->phys)); in imon_probe()
146 rcdev->input_phys = imon->phys; in imon_probe()
152 rcdev->priv = imon; in imon_probe()
158 imon->rcdev = rcdev; in imon_probe()
160 ret = usb_submit_urb(imon->ir_urb, GFP_KERNEL); in imon_probe()
164 usb_set_intfdata(intf, imon); in imon_probe()
169 usb_free_urb(imon->ir_urb); in imon_probe()
175 struct imon *imon = usb_get_intfdata(intf); in imon_disconnect() local
177 usb_kill_urb(imon->ir_urb); in imon_disconnect()
178 usb_free_urb(imon->ir_urb); in imon_disconnect()