Lines Matching refs:idata
40 struct ir_spi_data *idata = dev->priv; in ir_spi_tx() local
49 periods = DIV_ROUND_CLOSEST(buffer[i] * idata->freq, 1000000); in ir_spi_tx()
59 val = (i % 2) ? idata->space : idata->pulse; in ir_spi_tx()
61 idata->tx_buf[len++] = val; in ir_spi_tx()
66 xfer.speed_hz = idata->freq * 16; in ir_spi_tx()
67 xfer.len = len * sizeof(*idata->tx_buf); in ir_spi_tx()
68 xfer.tx_buf = idata->tx_buf; in ir_spi_tx()
70 ret = regulator_enable(idata->regulator); in ir_spi_tx()
74 ret = spi_sync_transfer(idata->spi, &xfer, 1); in ir_spi_tx()
76 dev_err(&idata->spi->dev, "unable to deliver the signal\n"); in ir_spi_tx()
78 regulator_disable(idata->regulator); in ir_spi_tx()
85 struct ir_spi_data *idata = dev->priv; in ir_spi_set_tx_carrier() local
90 idata->freq = carrier; in ir_spi_set_tx_carrier()
97 struct ir_spi_data *idata = dev->priv; in ir_spi_set_duty_cycle() local
100 idata->pulse = GENMASK(bits, 0); in ir_spi_set_duty_cycle()
102 if (idata->negated) { in ir_spi_set_duty_cycle()
103 idata->pulse = ~idata->pulse; in ir_spi_set_duty_cycle()
104 idata->space = 0xffff; in ir_spi_set_duty_cycle()
106 idata->space = 0; in ir_spi_set_duty_cycle()
116 struct ir_spi_data *idata; in ir_spi_probe() local
118 idata = devm_kzalloc(&spi->dev, sizeof(*idata), GFP_KERNEL); in ir_spi_probe()
119 if (!idata) in ir_spi_probe()
122 idata->regulator = devm_regulator_get(&spi->dev, "irda_regulator"); in ir_spi_probe()
123 if (IS_ERR(idata->regulator)) in ir_spi_probe()
124 return PTR_ERR(idata->regulator); in ir_spi_probe()
126 idata->rc = devm_rc_allocate_device(&spi->dev, RC_DRIVER_IR_RAW_TX); in ir_spi_probe()
127 if (!idata->rc) in ir_spi_probe()
130 idata->rc->tx_ir = ir_spi_tx; in ir_spi_probe()
131 idata->rc->s_tx_carrier = ir_spi_set_tx_carrier; in ir_spi_probe()
132 idata->rc->s_tx_duty_cycle = ir_spi_set_duty_cycle; in ir_spi_probe()
133 idata->rc->device_name = "IR SPI"; in ir_spi_probe()
134 idata->rc->driver_name = IR_SPI_DRIVER_NAME; in ir_spi_probe()
135 idata->rc->priv = idata; in ir_spi_probe()
136 idata->spi = spi; in ir_spi_probe()
138 idata->negated = of_property_read_bool(spi->dev.of_node, in ir_spi_probe()
148 ir_spi_set_duty_cycle(idata->rc, dc); in ir_spi_probe()
150 idata->freq = IR_SPI_DEFAULT_FREQUENCY; in ir_spi_probe()
152 return devm_rc_register_device(&spi->dev, idata->rc); in ir_spi_probe()