Lines Matching defs:spi
3 * cxd2880-spi.c
12 #include <linux/spi/spi.h>
51 struct spi_device *spi;
62 static int cxd2880_write_spi(struct spi_device *spi, u8 *data, u32 size)
67 if (!spi || !data) {
78 return spi_sync(spi, &msg);
81 static int cxd2880_write_reg(struct spi_device *spi,
88 if (!spi || !data) {
110 ret = cxd2880_write_spi(spi, send_data, send_data[2] + 3);
112 pr_err("write spi failed %d\n", ret);
117 static int cxd2880_spi_read_ts(struct spi_device *spi,
126 if (!spi || !read_data || !packet_num) {
148 ret = spi_sync(spi, &message);
155 static int cxd2880_spi_read_ts_buffer_info(struct spi_device *spi,
162 if (!spi || !info) {
167 ret = spi_write_then_read(spi, &send_data, 1,
182 static int cxd2880_spi_clear_ts_buffer(struct spi_device *spi)
187 ret = cxd2880_write_spi(spi, &data, 1);
190 pr_err("write spi failed\n");
195 static int cxd2880_set_pid_filter(struct spi_device *spi,
203 if (!spi) {
209 ret = cxd2880_write_reg(spi, 0x00, &data[0], 1);
214 ret = cxd2880_write_reg(spi, 0x50, &data[0], 1);
228 ret = cxd2880_write_reg(spi, 0x50, data, 65);
254 ret = cxd2880_set_pid_filter(dvb_spi->spi, &tmpcfg);
256 ret = cxd2880_set_pid_filter(dvb_spi->spi, cfg);
280 ret = cxd2880_spi_clear_ts_buffer(dvb_spi->spi);
288 ret = cxd2880_spi_read_ts_buffer_info(dvb_spi->spi,
297 cxd2880_spi_read_ts(dvb_spi->spi,
307 cxd2880_spi_read_ts(dvb_spi->spi,
508 cxd2880_spi_probe(struct spi_device *spi)
514 if (!spi) {
523 dvb_spi->vcc_supply = devm_regulator_get_optional(&spi->dev, "vcc");
536 dvb_spi->spi = spi;
538 spi_set_drvdata(spi, dvb_spi);
539 config.spi = spi;
545 &spi->dev,
629 cxd2880_spi_remove(struct spi_device *spi)
631 struct cxd2880_dvb_spi *dvb_spi = spi_get_drvdata(spi);
652 MODULE_DEVICE_TABLE(spi, cxd2880_spi_id);