rtspi
send4(rtspi, tx_buf);
send1(rtspi, tx_buf);
rcv4(rtspi, rx_buf);
rcv1(rtspi, rx_buf);
static void init_hw(struct rtspi *rtspi)
struct rtspi *rtspi;
ctrl = devm_spi_alloc_host(&pdev->dev, sizeof(*rtspi));
rtspi = spi_controller_get_devdata(ctrl);
rtspi->base = devm_platform_get_and_ioremap_resource(pdev, 0, NULL);
if (IS_ERR(rtspi->base)) {
init_hw(rtspi);
#define REG(x) (rtspi->base + x)
struct rtspi *rtspi = spi_controller_get_devdata(spi->controller);
static void set_size(struct rtspi *rtspi, int size)
static inline void wait_ready(struct rtspi *rtspi)
static void send4(struct rtspi *rtspi, const u32 *buf)
wait_ready(rtspi);
set_size(rtspi, 4);
static void send1(struct rtspi *rtspi, const u8 *buf)
wait_ready(rtspi);
set_size(rtspi, 1);
static void rcv4(struct rtspi *rtspi, u32 *buf)
wait_ready(rtspi);
set_size(rtspi, 4);
static void rcv1(struct rtspi *rtspi, u8 *buf)
wait_ready(rtspi);
set_size(rtspi, 1);
struct rtspi *rtspi = spi_controller_get_devdata(ctrl);