linux/include/linux/spi/spi_bitbang.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef	__SPI_BITBANG_H
#define __SPI_BITBANG_H

#include <linux/workqueue.h>

spi_bb_txrx_word_fn;

struct spi_bitbang {};

/* you can call these default bitbang->master methods from your custom
 * methods, if you like.
 */
extern int spi_bitbang_setup(struct spi_device *spi);
extern void spi_bitbang_cleanup(struct spi_device *spi);
extern int spi_bitbang_setup_transfer(struct spi_device *spi,
				      struct spi_transfer *t);

/* start or stop queue processing */
extern int spi_bitbang_start(struct spi_bitbang *spi);
extern int spi_bitbang_init(struct spi_bitbang *spi);
extern void spi_bitbang_stop(struct spi_bitbang *spi);

#endif	/* __SPI_BITBANG_H */