#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/gpio/consumer.h>
#include <linux/delay.h>
#include <linux/slab.h>
#include "fbtft.h"
#define WHITE …
#define BLACK …
#define DRVNAME …
#define WIDTH …
#define HEIGHT …
#define TOTALWIDTH …
#define FPS …
#define EPIN …
#define RS …
#define RW …
#define CS0 …
#define CS1 …
#define DIFFUSING_MATRIX_WIDTH …
#define DIFFUSING_MATRIX_HEIGHT …
static const signed char
diffusing_matrix[DIFFUSING_MATRIX_WIDTH][DIFFUSING_MATRIX_HEIGHT] = …;
static const unsigned char gamma_correction_table[] = …;
static int init_display(struct fbtft_par *par)
{ … }
static int verify_gpios(struct fbtft_par *par)
{ … }
static unsigned long
request_gpios_match(struct fbtft_par *par, const struct fbtft_gpio *gpio)
{ … }
static void write_reg8_bus8(struct fbtft_par *par, int len, ...)
{ … }
static struct
{ … } addr_win;
static void set_addr_win(struct fbtft_par *par, int xs, int ys, int xe, int ye)
{ … }
static void
construct_line_bitmap(struct fbtft_par *par, u8 *dest, signed short *src,
int xs, int xe, int y)
{ … }
static void iterate_diffusion_matrix(u32 xres, u32 yres, int x,
int y, signed short *convert_buf,
signed short pixel, signed short error)
{ … }
static int write_vmem(struct fbtft_par *par, size_t offset, size_t len)
{ … }
static int write(struct fbtft_par *par, void *buf, size_t len)
{ … }
static struct fbtft_display display = …;
FBTFT_REGISTER_DRIVER(…);
MODULE_ALIAS(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;