Lines Matching refs:bitbang

182 	struct spi_bitbang	*bitbang;  in spi_bitbang_setup()  local
185 bitbang = spi_master_get_devdata(spi->master); in spi_bitbang_setup()
195 cs->txrx_word = bitbang->txrx_word[spi->mode & (SPI_CPOL|SPI_CPHA)]; in spi_bitbang_setup()
199 if (bitbang->setup_transfer) { in spi_bitbang_setup()
200 int retval = bitbang->setup_transfer(spi, NULL); in spi_bitbang_setup()
213 spin_lock_irqsave(&bitbang->lock, flags); in spi_bitbang_setup()
214 if (!bitbang->busy) { in spi_bitbang_setup()
215 bitbang->chipselect(spi, BITBANG_CS_INACTIVE); in spi_bitbang_setup()
218 spin_unlock_irqrestore(&bitbang->lock, flags); in spi_bitbang_setup()
257 struct spi_bitbang *bitbang; in spi_bitbang_prepare_hardware() local
260 bitbang = spi_master_get_devdata(spi); in spi_bitbang_prepare_hardware()
262 spin_lock_irqsave(&bitbang->lock, flags); in spi_bitbang_prepare_hardware()
263 bitbang->busy = 1; in spi_bitbang_prepare_hardware()
264 spin_unlock_irqrestore(&bitbang->lock, flags); in spi_bitbang_prepare_hardware()
272 struct spi_bitbang *bitbang; in spi_bitbang_transfer_one() local
280 bitbang = spi_master_get_devdata(master); in spi_bitbang_transfer_one()
299 if (bitbang->setup_transfer) { in spi_bitbang_transfer_one()
300 status = bitbang->setup_transfer(spi, t); in spi_bitbang_transfer_one()
315 bitbang->chipselect(spi, BITBANG_CS_ACTIVE); in spi_bitbang_transfer_one()
334 status = bitbang->txrx_bufs(spi, t); in spi_bitbang_transfer_one()
356 bitbang->chipselect(spi, BITBANG_CS_INACTIVE); in spi_bitbang_transfer_one()
369 bitbang->chipselect(spi, BITBANG_CS_INACTIVE); in spi_bitbang_transfer_one()
380 struct spi_bitbang *bitbang; in spi_bitbang_unprepare_hardware() local
383 bitbang = spi_master_get_devdata(spi); in spi_bitbang_unprepare_hardware()
385 spin_lock_irqsave(&bitbang->lock, flags); in spi_bitbang_unprepare_hardware()
386 bitbang->busy = 0; in spi_bitbang_unprepare_hardware()
387 spin_unlock_irqrestore(&bitbang->lock, flags); in spi_bitbang_unprepare_hardware()
422 int spi_bitbang_start(struct spi_bitbang *bitbang) in spi_bitbang_start() argument
424 struct spi_master *master = bitbang->master; in spi_bitbang_start()
427 if (!master || !bitbang->chipselect) in spi_bitbang_start()
430 spin_lock_init(&bitbang->lock); in spi_bitbang_start()
433 master->mode_bits = SPI_CPOL | SPI_CPHA | bitbang->flags; in spi_bitbang_start()
442 if (!bitbang->txrx_bufs) { in spi_bitbang_start()
443 bitbang->use_dma = 0; in spi_bitbang_start()
444 bitbang->txrx_bufs = spi_bitbang_bufs; in spi_bitbang_start()
446 if (!bitbang->setup_transfer) in spi_bitbang_start()
447 bitbang->setup_transfer = in spi_bitbang_start()
468 void spi_bitbang_stop(struct spi_bitbang *bitbang) in spi_bitbang_stop() argument
470 spi_unregister_master(bitbang->master); in spi_bitbang_stop()