#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/string.h>
#include <linux/mm.h>
#include <linux/vmalloc.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/fb.h>
#include <linux/list.h>
#include <linux/rmap.h>
#include <linux/pagemap.h>
static struct page *fb_deferred_io_get_page(struct fb_info *info, unsigned long offs)
{ … }
static struct fb_deferred_io_pageref *fb_deferred_io_pageref_lookup(struct fb_info *info,
unsigned long offset,
struct page *page)
{ … }
static void fb_deferred_io_pageref_clear(struct fb_deferred_io_pageref *pageref)
{ … }
static struct fb_deferred_io_pageref *fb_deferred_io_pageref_get(struct fb_info *info,
unsigned long offset,
struct page *page)
{ … }
static void fb_deferred_io_pageref_put(struct fb_deferred_io_pageref *pageref,
struct fb_info *info)
{ … }
static vm_fault_t fb_deferred_io_fault(struct vm_fault *vmf)
{ … }
int fb_deferred_io_fsync(struct file *file, loff_t start, loff_t end, int datasync)
{ … }
EXPORT_SYMBOL_GPL(…);
static vm_fault_t fb_deferred_io_track_page(struct fb_info *info, unsigned long offset,
struct page *page)
{ … }
static vm_fault_t fb_deferred_io_page_mkwrite(struct fb_info *info, struct vm_fault *vmf)
{ … }
static vm_fault_t fb_deferred_io_mkwrite(struct vm_fault *vmf)
{ … }
static const struct vm_operations_struct fb_deferred_io_vm_ops = …;
static const struct address_space_operations fb_deferred_io_aops = …;
int fb_deferred_io_mmap(struct fb_info *info, struct vm_area_struct *vma)
{ … }
EXPORT_SYMBOL_GPL(…);
static void fb_deferred_io_work(struct work_struct *work)
{ … }
int fb_deferred_io_init(struct fb_info *info)
{ … }
EXPORT_SYMBOL_GPL(…);
void fb_deferred_io_open(struct fb_info *info,
struct inode *inode,
struct file *file)
{ … }
EXPORT_SYMBOL_GPL(…);
static void fb_deferred_io_lastclose(struct fb_info *info)
{ … }
void fb_deferred_io_release(struct fb_info *info)
{ … }
EXPORT_SYMBOL_GPL(…);
void fb_deferred_io_cleanup(struct fb_info *info)
{ … }
EXPORT_SYMBOL_GPL(…);