Lines Matching refs:bitbang
184 struct spi_bitbang *bitbang; in spi_bitbang_setup() local
186 bitbang = spi_master_get_devdata(spi->master); in spi_bitbang_setup()
196 cs->txrx_word = bitbang->txrx_word[spi->mode & (SPI_CPOL|SPI_CPHA)]; in spi_bitbang_setup()
200 if (bitbang->setup_transfer) { in spi_bitbang_setup()
201 int retval = bitbang->setup_transfer(spi, NULL); in spi_bitbang_setup()
214 mutex_lock(&bitbang->lock); in spi_bitbang_setup()
215 if (!bitbang->busy) { in spi_bitbang_setup()
216 bitbang->chipselect(spi, BITBANG_CS_INACTIVE); in spi_bitbang_setup()
219 mutex_unlock(&bitbang->lock); in spi_bitbang_setup()
258 struct spi_bitbang *bitbang; in spi_bitbang_prepare_hardware() local
260 bitbang = spi_master_get_devdata(spi); in spi_bitbang_prepare_hardware()
262 mutex_lock(&bitbang->lock); in spi_bitbang_prepare_hardware()
263 bitbang->busy = 1; in spi_bitbang_prepare_hardware()
264 mutex_unlock(&bitbang->lock); in spi_bitbang_prepare_hardware()
273 struct spi_bitbang *bitbang = spi_master_get_devdata(master); in spi_bitbang_transfer_one() local
276 if (bitbang->setup_transfer) { in spi_bitbang_transfer_one()
277 status = bitbang->setup_transfer(spi, transfer); in spi_bitbang_transfer_one()
283 status = bitbang->txrx_bufs(spi, transfer); in spi_bitbang_transfer_one()
298 struct spi_bitbang *bitbang; in spi_bitbang_unprepare_hardware() local
300 bitbang = spi_master_get_devdata(spi); in spi_bitbang_unprepare_hardware()
302 mutex_lock(&bitbang->lock); in spi_bitbang_unprepare_hardware()
303 bitbang->busy = 0; in spi_bitbang_unprepare_hardware()
304 mutex_unlock(&bitbang->lock); in spi_bitbang_unprepare_hardware()
311 struct spi_bitbang *bitbang = spi_master_get_devdata(spi->master); in spi_bitbang_set_cs() local
320 bitbang->chipselect(spi, enable ? BITBANG_CS_ACTIVE : in spi_bitbang_set_cs()
355 int spi_bitbang_start(struct spi_bitbang *bitbang) in spi_bitbang_start() argument
357 struct spi_master *master = bitbang->master; in spi_bitbang_start()
360 if (!master || !bitbang->chipselect) in spi_bitbang_start()
363 mutex_init(&bitbang->lock); in spi_bitbang_start()
366 master->mode_bits = SPI_CPOL | SPI_CPHA | bitbang->flags; in spi_bitbang_start()
376 if (!bitbang->txrx_bufs) { in spi_bitbang_start()
377 bitbang->use_dma = 0; in spi_bitbang_start()
378 bitbang->txrx_bufs = spi_bitbang_bufs; in spi_bitbang_start()
380 if (!bitbang->setup_transfer) in spi_bitbang_start()
381 bitbang->setup_transfer = in spi_bitbang_start()
402 void spi_bitbang_stop(struct spi_bitbang *bitbang) in spi_bitbang_stop() argument
404 spi_unregister_master(bitbang->master); in spi_bitbang_stop()