Lines Matching refs:gpio_ir
18 struct gpio_ir {
32 struct gpio_ir *gpio_ir = dev->priv;
34 gpio_ir->duty_cycle = duty_cycle;
41 struct gpio_ir *gpio_ir = dev->priv;
46 gpio_ir->carrier = carrier;
75 static void gpio_ir_tx_unmodulated(struct gpio_ir *gpio_ir, uint *txbuf,
86 gpiod_set_value(gpio_ir->gpio, !(i % 2));
92 gpiod_set_value(gpio_ir->gpio, 0);
95 static void gpio_ir_tx_modulated(struct gpio_ir *gpio_ir, uint *txbuf,
108 pulse = DIV_ROUND_CLOSEST(gpio_ir->duty_cycle * (NSEC_PER_SEC / 100),
109 gpio_ir->carrier);
110 space = DIV_ROUND_CLOSEST((100 - gpio_ir->duty_cycle) *
111 (NSEC_PER_SEC / 100), gpio_ir->carrier);
127 gpiod_set_value(gpio_ir->gpio, 1);
133 gpiod_set_value(gpio_ir->gpio, 0);
149 struct gpio_ir *gpio_ir = dev->priv;
153 if (gpio_ir->carrier)
154 gpio_ir_tx_modulated(gpio_ir, txbuf, count);
156 gpio_ir_tx_unmodulated(gpio_ir, txbuf, count);
164 struct gpio_ir *gpio_ir;
168 gpio_ir = devm_kmalloc(&pdev->dev, sizeof(*gpio_ir), GFP_KERNEL);
169 if (!gpio_ir)
176 gpio_ir->gpio = devm_gpiod_get(&pdev->dev, NULL, GPIOD_OUT_LOW);
177 if (IS_ERR(gpio_ir->gpio))
178 return dev_err_probe(&pdev->dev, PTR_ERR(gpio_ir->gpio),
181 rcdev->priv = gpio_ir;
188 gpio_ir->carrier = 38000;
189 gpio_ir->duty_cycle = 50;