Lines Matching refs:bitbang

28  * to glue code.  These bitbang setup() and cleanup() routines are always
36 * which means you could use a bitbang driver either to get hardware
183 struct spi_bitbang *bitbang;
187 bitbang = spi_master_get_devdata(spi->master);
198 cs->txrx_word = bitbang->txrx_word[spi->mode & (SPI_CPOL|SPI_CPHA)];
204 if (bitbang->setup_transfer) {
205 retval = bitbang->setup_transfer(spi, NULL);
234 struct spi_bitbang *bitbang;
236 bitbang = spi_master_get_devdata(spi->master);
237 if (bitbang->set_line_direction) {
240 err = bitbang->set_line_direction(spi, !!(t->tx_buf));
270 struct spi_bitbang *bitbang;
272 bitbang = spi_master_get_devdata(spi);
274 mutex_lock(&bitbang->lock);
275 bitbang->busy = 1;
276 mutex_unlock(&bitbang->lock);
285 struct spi_bitbang *bitbang = spi_master_get_devdata(master);
288 if (bitbang->setup_transfer) {
289 status = bitbang->setup_transfer(spi, transfer);
295 status = bitbang->txrx_bufs(spi, transfer);
310 struct spi_bitbang *bitbang;
312 bitbang = spi_master_get_devdata(spi);
314 mutex_lock(&bitbang->lock);
315 bitbang->busy = 0;
316 mutex_unlock(&bitbang->lock);
323 struct spi_bitbang *bitbang = spi_master_get_devdata(spi->master);
325 /* SPI core provides CS high / low, but bitbang driver
332 bitbang->chipselect(spi, enable ? BITBANG_CS_ACTIVE :
339 int spi_bitbang_init(struct spi_bitbang *bitbang)
341 struct spi_master *master = bitbang->master;
355 if (custom_cs && !bitbang->chipselect)
358 mutex_init(&bitbang->lock);
361 master->mode_bits = SPI_CPOL | SPI_CPHA | bitbang->flags;
376 if (!bitbang->txrx_bufs) {
377 bitbang->use_dma = 0;
378 bitbang->txrx_bufs = spi_bitbang_bufs;
380 if (!bitbang->setup_transfer)
381 bitbang->setup_transfer =
394 * @bitbang: driver handle
408 * master methods. Those methods are the defaults if the bitbang->txrx_bufs
420 int spi_bitbang_start(struct spi_bitbang *bitbang)
422 struct spi_master *master = bitbang->master;
425 ret = spi_bitbang_init(bitbang);
443 void spi_bitbang_stop(struct spi_bitbang *bitbang)
445 spi_unregister_master(bitbang->master);