gpio_ir
pulse = DIV_ROUND_CLOSEST(gpio_ir->duty_cycle * (NSEC_PER_SEC / 100),
gpio_ir->carrier);
space = DIV_ROUND_CLOSEST((100 - gpio_ir->duty_cycle) *
(NSEC_PER_SEC / 100), gpio_ir->carrier);
gpiod_set_value(gpio_ir->gpio, 1);
gpiod_set_value(gpio_ir->gpio, 0);
struct gpio_ir *gpio_ir = dev->priv;
if (gpio_ir->carrier)
gpio_ir_tx_modulated(gpio_ir, txbuf, count);
gpio_ir_tx_unmodulated(gpio_ir, txbuf, count);
struct gpio_ir *gpio_ir;
gpio_ir = devm_kmalloc(&pdev->dev, sizeof(*gpio_ir), GFP_KERNEL);
if (!gpio_ir)
gpio_ir->gpio = devm_gpiod_get(&pdev->dev, NULL, GPIOD_OUT_LOW);
if (IS_ERR(gpio_ir->gpio))
return dev_err_probe(&pdev->dev, PTR_ERR(gpio_ir->gpio),
rcdev->priv = gpio_ir;
gpio_ir->carrier = 38000;
gpio_ir->duty_cycle = 50;
struct gpio_ir *gpio_ir = dev->priv;
gpio_ir->duty_cycle = duty_cycle;
struct gpio_ir *gpio_ir = dev->priv;
gpio_ir->carrier = carrier;
static void gpio_ir_tx_unmodulated(struct gpio_ir *gpio_ir, uint *txbuf,
gpiod_set_value(gpio_ir->gpio, !(i % 2));
gpiod_set_value(gpio_ir->gpio, 0);
static void gpio_ir_tx_modulated(struct gpio_ir *gpio_ir, uint *txbuf,