Lines Matching defs:spi

27 #include <linux/spi/spi.h>
28 #include <linux/spi/mmc_spi.h>
107 struct spi_device *spi;
142 return spi_setup(host->spi);
154 return spi_sync_locked(host->spi, &host->readback);
381 dev_dbg(&host->spi->dev, "bad response type %04x\n",
389 dev_dbg(&host->spi->dev, "%s: resp %04x %08x\n",
487 dev_dbg(&host->spi->dev, " mmc_spi: CMD%d, resp %s\n",
500 status = spi_sync_locked(host->spi, &host->m);
502 dev_dbg(&host->spi->dev, " ... write returned %d\n", status);
607 struct spi_device *spi = host->spi;
615 status = spi_sync_locked(spi, &host->m);
617 dev_dbg(&spi->dev, "write error (%d)\n", status);
663 dev_dbg(&spi->dev, "write error %02x (%d)\n",
701 struct spi_device *spi = host->spi;
718 dev_dbg(&spi->dev, "read error %02x (%d)\n", status, status);
732 status = spi_sync_locked(spi, &host->m);
734 dev_dbg(&spi->dev, "read error %d\n", status);
764 dev_dbg(&spi->dev,
785 struct spi_device *spi = host->spi;
801 clock_rate = spi->max_speed_hz;
826 dev_dbg(&host->spi->dev,
852 dev_dbg(&spi->dev, "%s status %d\n",
870 dev_dbg(&spi->dev, " mmc_spi: STOP_TRAN\n");
887 tmp = spi_sync_locked(spi, &host->m);
929 dev_dbg(&host->spi->dev, "bogus command\n");
936 dev_dbg(&host->spi->dev, "bogus STOP command\n");
950 spi_bus_lock(host->spi->master);
982 spi_bus_unlock(host->spi->master);
1022 host->spi->mode ^= SPI_CS_HIGH;
1023 if (spi_setup(host->spi) != 0) {
1025 dev_warn(&host->spi->dev,
1027 host->spi->mode ^= SPI_CS_HIGH;
1031 host->spi->mode ^= SPI_CS_HIGH;
1032 if (spi_setup(host->spi) != 0) {
1034 dev_err(&host->spi->dev,
1059 dev_dbg(&host->spi->dev, "mmc_spi: power %s (%d)%s\n",
1071 host->pdata->setpower(&host->spi->dev,
1095 host->spi->mode &= ~(SPI_CPOL|SPI_CPHA);
1096 mres = spi_setup(host->spi);
1098 dev_dbg(&host->spi->dev,
1101 if (spi_write(host->spi, &nullbyte, 1) < 0)
1102 dev_dbg(&host->spi->dev,
1103 "put spi signals to low failed\n");
1106 * Now clock should be low due to spi mode 0;
1116 host->spi->mode |= (SPI_CPOL|SPI_CPHA);
1117 mres = spi_setup(host->spi);
1119 dev_dbg(&host->spi->dev,
1127 if (host->spi->max_speed_hz != ios->clock && ios->clock != 0) {
1130 host->spi->max_speed_hz = ios->clock;
1131 status = spi_setup(host->spi);
1132 dev_dbg(&host->spi->dev,
1134 host->spi->max_speed_hz, status);
1162 static int mmc_spi_probe(struct spi_device *spi)
1173 if (spi->master->flags & SPI_MASTER_HALF_DUPLEX)
1182 if (spi->mode != SPI_MODE_3)
1183 spi->mode = SPI_MODE_0;
1184 spi->bits_per_word = 8;
1186 status = spi_setup(spi);
1188 dev_dbg(&spi->dev, "needs SPI mode %02x, %d KHz; %d\n",
1189 spi->mode, spi->max_speed_hz / 1000,
1206 mmc = mmc_alloc_host(sizeof(*host), &spi->dev);
1227 mmc->f_max = spi->max_speed_hz;
1231 host->spi = spi;
1238 host->pdata = mmc_spi_get_pdata(spi);
1242 dev_warn(&spi->dev, "ASSUMING 3.2-3.4 V slot power\n");
1251 dev_set_drvdata(&spi->dev, mmc);
1268 status = host->pdata->init(&spi->dev, mmc_spi_detect_irq, mmc);
1308 dev_info(&spi->dev, "SD/MMC host %s%s%s%s\n",
1323 mmc_spi_put_pdata(spi);
1330 static int mmc_spi_remove(struct spi_device *spi)
1332 struct mmc_host *mmc = dev_get_drvdata(&spi->dev);
1337 host->pdata->exit(&spi->dev, mmc);
1344 spi->max_speed_hz = mmc->f_max;
1346 mmc_spi_put_pdata(spi);
1351 { .compatible = "mmc-spi-slot", },
1370 MODULE_ALIAS("spi:mmc_spi");