#include <linux/auxiliary_bus.h>
#include <linux/bitfield.h>
#include <linux/bits.h>
#include <linux/dev_printk.h>
#include <linux/module.h>
#include <linux/spi/spi.h>
#include <linux/usb/ljca.h>
#define LJCA_SPI_BUS_MAX_HZ …
#define LJCA_SPI_BUF_SIZE …
#define LJCA_SPI_MAX_XFER_SIZE …
#define LJCA_SPI_CLK_MODE_POLARITY …
#define LJCA_SPI_CLK_MODE_PHASE …
#define LJCA_SPI_XFER_INDICATOR_ID …
#define LJCA_SPI_XFER_INDICATOR_CMPL …
#define LJCA_SPI_XFER_INDICATOR_INDEX …
enum ljca_spi_cmd { … };
enum { … };
enum { … };
enum { … };
struct ljca_spi_init_packet { … } __packed;
struct ljca_spi_xfer_packet { … } __packed;
struct ljca_spi_dev { … };
static int ljca_spi_read_write(struct ljca_spi_dev *ljca_spi, const u8 *w_data,
u8 *r_data, int len, int id, int complete,
int cmd)
{ … }
static int ljca_spi_init(struct ljca_spi_dev *ljca_spi, u8 div, u8 mode)
{ … }
static int ljca_spi_deinit(struct ljca_spi_dev *ljca_spi)
{ … }
static inline int ljca_spi_transfer(struct ljca_spi_dev *ljca_spi,
const u8 *tx_data, u8 *rx_data, u16 len)
{ … }
static int ljca_spi_transfer_one(struct spi_controller *controller,
struct spi_device *spi,
struct spi_transfer *xfer)
{ … }
static int ljca_spi_probe(struct auxiliary_device *auxdev,
const struct auxiliary_device_id *aux_dev_id)
{ … }
static void ljca_spi_dev_remove(struct auxiliary_device *auxdev)
{ … }
static int ljca_spi_dev_suspend(struct device *dev)
{ … }
static int ljca_spi_dev_resume(struct device *dev)
{ … }
static const struct dev_pm_ops ljca_spi_pm = …;
static const struct auxiliary_device_id ljca_spi_id_table[] = …;
MODULE_DEVICE_TABLE(auxiliary, ljca_spi_id_table);
static struct auxiliary_driver ljca_spi_driver = …;
module_auxiliary_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_IMPORT_NS(…);