#include <linux/module.h>
#include <linux/delay.h>
#include <linux/gpio/consumer.h>
#include <linux/spi/spi.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/of.h>
#include "bus.h"
#include "wfx.h"
#include "hwio.h"
#include "main.h"
#include "bh.h"
#define SET_WRITE …
#define SET_READ …
static const struct wfx_platform_data pdata_wf200 = …;
static const struct wfx_platform_data pdata_brd4001a = …;
static const struct wfx_platform_data pdata_brd8022a = …;
static const struct wfx_platform_data pdata_brd8023a = …;
struct wfx_spi_priv { … };
static int wfx_spi_copy_from_io(void *priv, unsigned int addr, void *dst, size_t count)
{ … }
static int wfx_spi_copy_to_io(void *priv, unsigned int addr, const void *src, size_t count)
{ … }
static void wfx_spi_lock(void *priv)
{ … }
static void wfx_spi_unlock(void *priv)
{ … }
static irqreturn_t wfx_spi_irq_handler(int irq, void *priv)
{ … }
static int wfx_spi_irq_subscribe(void *priv)
{ … }
static int wfx_spi_irq_unsubscribe(void *priv)
{ … }
static size_t wfx_spi_align_size(void *priv, size_t size)
{ … }
static const struct wfx_hwbus_ops wfx_spi_hwbus_ops = …;
static int wfx_spi_probe(struct spi_device *func)
{ … }
static void wfx_spi_remove(struct spi_device *func)
{ … }
static const struct spi_device_id wfx_spi_id[] = …;
MODULE_DEVICE_TABLE(spi, wfx_spi_id);
#ifdef CONFIG_OF
static const struct of_device_id wfx_spi_of_match[] = …;
MODULE_DEVICE_TABLE(of, wfx_spi_of_match);
#endif
struct spi_driver wfx_spi_driver = …;