ir_rx51            33 drivers/media/rc/ir-rx51.c static inline void ir_rx51_on(struct ir_rx51 *ir_rx51)
ir_rx51            35 drivers/media/rc/ir-rx51.c 	pwm_enable(ir_rx51->pwm);
ir_rx51            38 drivers/media/rc/ir-rx51.c static inline void ir_rx51_off(struct ir_rx51 *ir_rx51)
ir_rx51            40 drivers/media/rc/ir-rx51.c 	pwm_disable(ir_rx51->pwm);
ir_rx51            43 drivers/media/rc/ir-rx51.c static int init_timing_params(struct ir_rx51 *ir_rx51)
ir_rx51            45 drivers/media/rc/ir-rx51.c 	struct pwm_device *pwm = ir_rx51->pwm;
ir_rx51            46 drivers/media/rc/ir-rx51.c 	int duty, period = DIV_ROUND_CLOSEST(NSEC_PER_SEC, ir_rx51->freq);
ir_rx51            48 drivers/media/rc/ir-rx51.c 	duty = DIV_ROUND_CLOSEST(ir_rx51->duty_cycle * period, 100);
ir_rx51            57 drivers/media/rc/ir-rx51.c 	struct ir_rx51 *ir_rx51 = container_of(timer, struct ir_rx51, timer);
ir_rx51            60 drivers/media/rc/ir-rx51.c 	if (ir_rx51->wbuf_index < 0) {
ir_rx51            61 drivers/media/rc/ir-rx51.c 		dev_err_ratelimited(ir_rx51->dev,
ir_rx51            63 drivers/media/rc/ir-rx51.c 				    ir_rx51->wbuf_index);
ir_rx51            74 drivers/media/rc/ir-rx51.c 		if (ir_rx51->wbuf_index >= WBUF_LEN)
ir_rx51            76 drivers/media/rc/ir-rx51.c 		if (ir_rx51->wbuf[ir_rx51->wbuf_index] == -1)
ir_rx51            79 drivers/media/rc/ir-rx51.c 		if (ir_rx51->wbuf_index % 2)
ir_rx51            80 drivers/media/rc/ir-rx51.c 			ir_rx51_off(ir_rx51);
ir_rx51            82 drivers/media/rc/ir-rx51.c 			ir_rx51_on(ir_rx51);
ir_rx51            84 drivers/media/rc/ir-rx51.c 		ns = US_TO_NS(ir_rx51->wbuf[ir_rx51->wbuf_index]);
ir_rx51            87 drivers/media/rc/ir-rx51.c 		ir_rx51->wbuf_index++;
ir_rx51            96 drivers/media/rc/ir-rx51.c 	ir_rx51_off(ir_rx51);
ir_rx51            97 drivers/media/rc/ir-rx51.c 	ir_rx51->wbuf_index = -1;
ir_rx51            99 drivers/media/rc/ir-rx51.c 	wake_up_interruptible(&ir_rx51->wqueue);
ir_rx51           107 drivers/media/rc/ir-rx51.c 	struct ir_rx51 *ir_rx51 = dev->priv;
ir_rx51           112 drivers/media/rc/ir-rx51.c 	memcpy(ir_rx51->wbuf, buffer, count * sizeof(unsigned int));
ir_rx51           115 drivers/media/rc/ir-rx51.c 	wait_event_interruptible(ir_rx51->wqueue, ir_rx51->wbuf_index < 0);
ir_rx51           117 drivers/media/rc/ir-rx51.c 	init_timing_params(ir_rx51);
ir_rx51           119 drivers/media/rc/ir-rx51.c 		ir_rx51->wbuf[count] = -1; /* Insert termination mark */
ir_rx51           126 drivers/media/rc/ir-rx51.c 	ir_rx51_on(ir_rx51);
ir_rx51           127 drivers/media/rc/ir-rx51.c 	ir_rx51->wbuf_index = 1;
ir_rx51           128 drivers/media/rc/ir-rx51.c 	hrtimer_start(&ir_rx51->timer,
ir_rx51           129 drivers/media/rc/ir-rx51.c 		      ns_to_ktime(US_TO_NS(ir_rx51->wbuf[0])),
ir_rx51           135 drivers/media/rc/ir-rx51.c 	wait_event_interruptible(ir_rx51->wqueue, ir_rx51->wbuf_index < 0);
ir_rx51           144 drivers/media/rc/ir-rx51.c 	struct ir_rx51 *ir_rx51 = dev->priv;
ir_rx51           146 drivers/media/rc/ir-rx51.c 	if (test_and_set_bit(1, &ir_rx51->device_is_open))
ir_rx51           149 drivers/media/rc/ir-rx51.c 	ir_rx51->pwm = pwm_get(ir_rx51->dev, NULL);
ir_rx51           150 drivers/media/rc/ir-rx51.c 	if (IS_ERR(ir_rx51->pwm)) {
ir_rx51           151 drivers/media/rc/ir-rx51.c 		int res = PTR_ERR(ir_rx51->pwm);
ir_rx51           153 drivers/media/rc/ir-rx51.c 		dev_err(ir_rx51->dev, "pwm_get failed: %d\n", res);
ir_rx51           162 drivers/media/rc/ir-rx51.c 	struct ir_rx51 *ir_rx51 = dev->priv;
ir_rx51           164 drivers/media/rc/ir-rx51.c 	hrtimer_cancel(&ir_rx51->timer);
ir_rx51           165 drivers/media/rc/ir-rx51.c 	ir_rx51_off(ir_rx51);
ir_rx51           166 drivers/media/rc/ir-rx51.c 	pwm_put(ir_rx51->pwm);
ir_rx51           168 drivers/media/rc/ir-rx51.c 	clear_bit(1, &ir_rx51->device_is_open);
ir_rx51           171 drivers/media/rc/ir-rx51.c static struct ir_rx51 ir_rx51 = {
ir_rx51           178 drivers/media/rc/ir-rx51.c 	struct ir_rx51 *ir_rx51 = dev->priv;
ir_rx51           180 drivers/media/rc/ir-rx51.c 	ir_rx51->duty_cycle = duty;
ir_rx51           187 drivers/media/rc/ir-rx51.c 	struct ir_rx51 *ir_rx51 = dev->priv;
ir_rx51           192 drivers/media/rc/ir-rx51.c 	ir_rx51->freq = carrier;
ir_rx51           209 drivers/media/rc/ir-rx51.c 	if (test_and_set_bit(1, &ir_rx51.device_is_open))
ir_rx51           212 drivers/media/rc/ir-rx51.c 	clear_bit(1, &ir_rx51.device_is_open);
ir_rx51           244 drivers/media/rc/ir-rx51.c 	ir_rx51.freq = DIV_ROUND_CLOSEST(pwm_get_period(pwm), NSEC_PER_SEC);
ir_rx51           247 drivers/media/rc/ir-rx51.c 	hrtimer_init(&ir_rx51.timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
ir_rx51           248 drivers/media/rc/ir-rx51.c 	ir_rx51.timer.function = ir_rx51_timer_cb;
ir_rx51           250 drivers/media/rc/ir-rx51.c 	ir_rx51.dev = &dev->dev;
ir_rx51           256 drivers/media/rc/ir-rx51.c 	rcdev->priv = &ir_rx51;
ir_rx51           264 drivers/media/rc/ir-rx51.c 	ir_rx51.rcdev = rcdev;
ir_rx51           266 drivers/media/rc/ir-rx51.c 	return devm_rc_register_device(&dev->dev, ir_rx51.rcdev);