#include <linux/hid.h>
#include <linux/vmalloc.h>
#include <linux/fb.h>
#include <linux/module.h>
#include "hid-picolcd.h"
#define PICOLCDFB_NAME …
#define PICOLCDFB_WIDTH …
#define PICOLCDFB_HEIGHT …
#define PICOLCDFB_SIZE …
#define PICOLCDFB_UPDATE_RATE_LIMIT …
#define PICOLCDFB_UPDATE_RATE_DEFAULT …
static const struct fb_fix_screeninfo picolcdfb_fix = …;
static const struct fb_var_screeninfo picolcdfb_var = …;
static int picolcd_fb_send_tile(struct picolcd_data *data, u8 *vbitmap,
int chip, int tile)
{ … }
static int picolcd_fb_update_tile(u8 *vbitmap, const u8 *bitmap, int bpp,
int chip, int tile)
{ … }
void picolcd_fb_refresh(struct picolcd_data *data)
{ … }
int picolcd_fb_reset(struct picolcd_data *data, int clear)
{ … }
static void picolcd_fb_update(struct fb_info *info)
{ … }
static int picolcd_fb_blank(int blank, struct fb_info *info)
{ … }
static void picolcd_fb_destroy(struct fb_info *info)
{ … }
static int picolcd_fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
{ … }
static int picolcd_set_par(struct fb_info *info)
{ … }
static void picolcdfb_ops_damage_range(struct fb_info *info, off_t off, size_t len)
{ … }
static void picolcdfb_ops_damage_area(struct fb_info *info, u32 x, u32 y, u32 width, u32 height)
{ … }
FB_GEN_DEFAULT_DEFERRED_SYSMEM_OPS(picolcdfb_ops,
picolcdfb_ops_damage_range,
picolcdfb_ops_damage_area)
static const struct fb_ops picolcdfb_ops = …;
static void picolcd_fb_deferred_io(struct fb_info *info, struct list_head *pagereflist)
{ … }
static const struct fb_deferred_io picolcd_fb_defio = …;
static ssize_t picolcd_fb_update_rate_show(struct device *dev,
struct device_attribute *attr, char *buf)
{ … }
static ssize_t picolcd_fb_update_rate_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t count)
{ … }
static DEVICE_ATTR(fb_update_rate, 0664, picolcd_fb_update_rate_show,
picolcd_fb_update_rate_store);
int picolcd_init_framebuffer(struct picolcd_data *data)
{ … }
void picolcd_exit_framebuffer(struct picolcd_data *data)
{ … }