#ifndef _LINUX_FB_H
#define _LINUX_FB_H
#include <uapi/linux/fb.h>
#define FBIO_CURSOR …
#include <linux/mutex.h>
#include <linux/printk.h>
#include <linux/refcount.h>
#include <linux/types.h>
#include <linux/workqueue.h>
#include <asm/video.h>
struct backlight_device;
struct device;
struct device_node;
struct fb_info;
struct file;
struct i2c_adapter;
struct inode;
struct module;
struct notifier_block;
struct page;
struct videomode;
struct vm_area_struct;
#define FB_DPMS_ACTIVE_OFF …
#define FB_DPMS_SUSPEND …
#define FB_DPMS_STANDBY …
#define FB_DISP_DDI …
#define FB_DISP_ANA_700_300 …
#define FB_DISP_ANA_714_286 …
#define FB_DISP_ANA_1000_400 …
#define FB_DISP_ANA_700_000 …
#define FB_DISP_MONO …
#define FB_DISP_RGB …
#define FB_DISP_MULTI …
#define FB_DISP_UNKNOWN …
#define FB_SIGNAL_NONE …
#define FB_SIGNAL_BLANK_BLANK …
#define FB_SIGNAL_SEPARATE …
#define FB_SIGNAL_COMPOSITE …
#define FB_SIGNAL_SYNC_ON_GREEN …
#define FB_SIGNAL_SERRATION_ON …
#define FB_MISC_PRIM_COLOR …
#define FB_MISC_1ST_DETAIL …
#define FB_MISC_HDMI …
struct fb_chroma { … };
struct fb_monspecs { … };
struct fb_cmap_user { … };
struct fb_image_user { … };
struct fb_cursor_user { … };
#define FB_EVENT_MODE_CHANGE …
#ifdef CONFIG_GUMSTIX_AM200EPD
#define FB_EVENT_FB_REGISTERED …
#define FB_EVENT_FB_UNREGISTERED …
#endif
#define FB_EVENT_BLANK …
struct fb_event { … };
#define FB_MAX_BLIT_WIDTH …
#define FB_MAX_BLIT_HEIGHT …
struct fb_blit_caps { … };
#ifdef CONFIG_FB_NOTIFY
extern int fb_register_client(struct notifier_block *nb);
extern int fb_unregister_client(struct notifier_block *nb);
extern int fb_notifier_call_chain(unsigned long val, void *v);
#else
static inline int fb_register_client(struct notifier_block *nb)
{
return 0;
};
static inline int fb_unregister_client(struct notifier_block *nb)
{
return 0;
};
static inline int fb_notifier_call_chain(unsigned long val, void *v)
{
return 0;
};
#endif
#define FB_PIXMAP_DEFAULT …
#define FB_PIXMAP_SYSTEM …
#define FB_PIXMAP_IO …
#define FB_PIXMAP_SYNC …
struct fb_pixmap { … };
#ifdef CONFIG_FB_DEFERRED_IO
struct fb_deferred_io_pageref { … };
struct fb_deferred_io { … };
#endif
struct fb_ops { … };
#ifdef CONFIG_FB_TILEBLITTING
#define FB_TILE_CURSOR_NONE …
#define FB_TILE_CURSOR_UNDERLINE …
#define FB_TILE_CURSOR_LOWER_THIRD …
#define FB_TILE_CURSOR_LOWER_HALF …
#define FB_TILE_CURSOR_TWO_THIRDS …
#define FB_TILE_CURSOR_BLOCK …
struct fb_tilemap { … };
struct fb_tilerect { … };
struct fb_tilearea { … };
struct fb_tileblit { … };
struct fb_tilecursor { … };
struct fb_tile_ops { … };
#endif
#define FBINFO_HWACCEL_DISABLED …
#define FBINFO_VIRTFB …
#define FBINFO_PARTIAL_PAN_OK …
#define FBINFO_READS_FAST …
#define FBINFO_HWACCEL_NONE …
#define FBINFO_HWACCEL_COPYAREA …
#define FBINFO_HWACCEL_FILLRECT …
#define FBINFO_HWACCEL_IMAGEBLIT …
#define FBINFO_HWACCEL_ROTATE …
#define FBINFO_HWACCEL_XPAN …
#define FBINFO_HWACCEL_YPAN …
#define FBINFO_HWACCEL_YWRAP …
#define FBINFO_MISC_TILEBLITTING …
#define FBINFO_MISC_ALWAYS_SETPAR …
#define FBINFO_FOREIGN_ENDIAN …
#define FBINFO_BE_MATH …
#define FBINFO_HIDE_SMEM_START …
struct fb_info { … };
#define STUPID_ACCELF_TEXT_SHIT
#define FB_LEFT_POS(p, bpp) …
#define FB_SHIFT_HIGH(p, val, bits) …
#define FB_SHIFT_LOW(p, val, bits) …
extern int fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var);
extern int fb_pan_display(struct fb_info *info, struct fb_var_screeninfo *var);
extern int fb_blank(struct fb_info *info, int blank);
extern void cfb_fillrect(struct fb_info *info, const struct fb_fillrect *rect);
extern void cfb_copyarea(struct fb_info *info, const struct fb_copyarea *area);
extern void cfb_imageblit(struct fb_info *info, const struct fb_image *image);
extern ssize_t fb_io_read(struct fb_info *info, char __user *buf,
size_t count, loff_t *ppos);
extern ssize_t fb_io_write(struct fb_info *info, const char __user *buf,
size_t count, loff_t *ppos);
int fb_io_mmap(struct fb_info *info, struct vm_area_struct *vma);
#define __FB_DEFAULT_IOMEM_OPS_RDWR …
#define __FB_DEFAULT_IOMEM_OPS_DRAW …
#define __FB_DEFAULT_IOMEM_OPS_MMAP …
#define FB_DEFAULT_IOMEM_OPS …
extern void sys_fillrect(struct fb_info *info, const struct fb_fillrect *rect);
extern void sys_copyarea(struct fb_info *info, const struct fb_copyarea *area);
extern void sys_imageblit(struct fb_info *info, const struct fb_image *image);
extern ssize_t fb_sys_read(struct fb_info *info, char __user *buf,
size_t count, loff_t *ppos);
extern ssize_t fb_sys_write(struct fb_info *info, const char __user *buf,
size_t count, loff_t *ppos);
#define __FB_DEFAULT_SYSMEM_OPS_RDWR …
#define __FB_DEFAULT_SYSMEM_OPS_DRAW …
#define __FB_DEFAULT_DMAMEM_OPS_RDWR …
#define __FB_DEFAULT_DMAMEM_OPS_DRAW …
extern int register_framebuffer(struct fb_info *fb_info);
extern void unregister_framebuffer(struct fb_info *fb_info);
extern int devm_register_framebuffer(struct device *dev, struct fb_info *fb_info);
extern char* fb_get_buffer_offset(struct fb_info *info, struct fb_pixmap *buf, u32 size);
extern void fb_pad_unaligned_buffer(u8 *dst, u32 d_pitch, u8 *src, u32 idx,
u32 height, u32 shift_high, u32 shift_low, u32 mod);
extern void fb_pad_aligned_buffer(u8 *dst, u32 d_pitch, u8 *src, u32 s_pitch, u32 height);
extern void fb_set_suspend(struct fb_info *info, int state);
extern int fb_get_color_depth(struct fb_var_screeninfo *var,
struct fb_fix_screeninfo *fix);
extern int fb_get_options(const char *name, char **option);
extern int fb_new_modelist(struct fb_info *info);
static inline void lock_fb_info(struct fb_info *info)
{ … }
static inline void unlock_fb_info(struct fb_info *info)
{ … }
static inline void __fb_pad_aligned_buffer(u8 *dst, u32 d_pitch,
u8 *src, u32 s_pitch, u32 height)
{ … }
int fb_deferred_io_mmap(struct fb_info *info, struct vm_area_struct *vma);
extern int fb_deferred_io_init(struct fb_info *info);
extern void fb_deferred_io_open(struct fb_info *info,
struct inode *inode,
struct file *file);
extern void fb_deferred_io_release(struct fb_info *info);
extern void fb_deferred_io_cleanup(struct fb_info *info);
extern int fb_deferred_io_fsync(struct file *file, loff_t start,
loff_t end, int datasync);
#define __FB_GEN_DEFAULT_DEFERRED_OPS_RDWR(__prefix, __damage_range, __mode) …
#define __FB_GEN_DEFAULT_DEFERRED_OPS_DRAW(__prefix, __damage_area, __mode) …
#define FB_GEN_DEFAULT_DEFERRED_IOMEM_OPS(__prefix, __damage_range, __damage_area) …
#define FB_GEN_DEFAULT_DEFERRED_SYSMEM_OPS(__prefix, __damage_range, __damage_area) …
#define FB_GEN_DEFAULT_DEFERRED_DMAMEM_OPS(__prefix, __damage_range, __damage_area) …
#define __FB_DEFAULT_DEFERRED_OPS_RDWR(__prefix) …
#define __FB_DEFAULT_DEFERRED_OPS_DRAW(__prefix) …
#define __FB_DEFAULT_DEFERRED_OPS_MMAP(__prefix) …
#define FB_DEFAULT_DEFERRED_OPS(__prefix) …
static inline bool fb_be_math(struct fb_info *info)
{ … }
extern struct fb_info *framebuffer_alloc(size_t size, struct device *dev);
extern void framebuffer_release(struct fb_info *info);
extern void fb_bl_default_curve(struct fb_info *fb_info, u8 off, u8 min, u8 max);
#if IS_ENABLED(CONFIG_FB_BACKLIGHT)
struct backlight_device *fb_bl_device(struct fb_info *info);
#else
static inline struct backlight_device *fb_bl_device(struct fb_info *info)
{
return NULL;
}
#endif
#define FB_MAXTIMINGS …
#define FB_VSYNCTIMINGS …
#define FB_HSYNCTIMINGS …
#define FB_DCLKTIMINGS …
#define FB_IGNOREMON …
#define FB_MODE_IS_UNKNOWN …
#define FB_MODE_IS_DETAILED …
#define FB_MODE_IS_STANDARD …
#define FB_MODE_IS_VESA …
#define FB_MODE_IS_CALCULATED …
#define FB_MODE_IS_FIRST …
#define FB_MODE_IS_FROM_VAR …
extern int fbmon_dpms(const struct fb_info *fb_info);
extern int fb_get_mode(int flags, u32 val, struct fb_var_screeninfo *var,
struct fb_info *info);
extern int fb_validate_mode(const struct fb_var_screeninfo *var,
struct fb_info *info);
extern int fb_parse_edid(unsigned char *edid, struct fb_var_screeninfo *var);
extern const unsigned char *fb_firmware_edid(struct device *device);
extern void fb_edid_to_monspecs(unsigned char *edid,
struct fb_monspecs *specs);
extern void fb_destroy_modedb(struct fb_videomode *modedb);
extern int fb_find_mode_cvt(struct fb_videomode *mode, int margins, int rb);
extern unsigned char *fb_ddc_read(struct i2c_adapter *adapter);
extern int of_get_fb_videomode(struct device_node *np,
struct fb_videomode *fb,
int index);
extern int fb_videomode_from_videomode(const struct videomode *vm,
struct fb_videomode *fbmode);
#define VESA_MODEDB_SIZE …
#define DMT_SIZE …
extern void fb_var_to_videomode(struct fb_videomode *mode,
const struct fb_var_screeninfo *var);
extern void fb_videomode_to_var(struct fb_var_screeninfo *var,
const struct fb_videomode *mode);
extern int fb_mode_is_equal(const struct fb_videomode *mode1,
const struct fb_videomode *mode2);
extern int fb_add_videomode(const struct fb_videomode *mode,
struct list_head *head);
extern void fb_delete_videomode(const struct fb_videomode *mode,
struct list_head *head);
extern const struct fb_videomode *fb_match_mode(const struct fb_var_screeninfo *var,
struct list_head *head);
extern const struct fb_videomode *fb_find_best_mode(const struct fb_var_screeninfo *var,
struct list_head *head);
extern const struct fb_videomode *fb_find_nearest_mode(const struct fb_videomode *mode,
struct list_head *head);
extern void fb_destroy_modelist(struct list_head *head);
extern void fb_videomode_to_modelist(const struct fb_videomode *modedb, int num,
struct list_head *head);
extern const struct fb_videomode *fb_find_best_display(const struct fb_monspecs *specs,
struct list_head *head);
extern int fb_alloc_cmap(struct fb_cmap *cmap, int len, int transp);
extern int fb_alloc_cmap_gfp(struct fb_cmap *cmap, int len, int transp, gfp_t flags);
extern void fb_dealloc_cmap(struct fb_cmap *cmap);
extern int fb_copy_cmap(const struct fb_cmap *from, struct fb_cmap *to);
extern int fb_cmap_to_user(const struct fb_cmap *from, struct fb_cmap_user *to);
extern int fb_set_cmap(struct fb_cmap *cmap, struct fb_info *fb_info);
extern int fb_set_user_cmap(struct fb_cmap_user *cmap, struct fb_info *fb_info);
extern const struct fb_cmap *fb_default_cmap(int len);
extern void fb_invert_cmaps(void);
struct fb_videomode { … };
struct dmt_videomode { … };
extern const struct fb_videomode vesa_modes[];
extern const struct dmt_videomode dmt_modes[];
struct fb_modelist { … };
extern int fb_find_mode(struct fb_var_screeninfo *var,
struct fb_info *info, const char *mode_option,
const struct fb_videomode *db,
unsigned int dbsize,
const struct fb_videomode *default_mode,
unsigned int default_bpp);
bool fb_modesetting_disabled(const char *drvname);
#define fb_err(fb_info, fmt, ...) …
#define fb_notice(info, fmt, ...) …
#define fb_warn(fb_info, fmt, ...) …
#define fb_info(fb_info, fmt, ...) …
#define fb_dbg(fb_info, fmt, ...) …
#define fb_warn_once(fb_info, fmt, ...) …
#define fb_WARN_ONCE(fb_info, condition, fmt, ...) …
#define fb_WARN_ON_ONCE(fb_info, x) …
#endif