include/linux/fb.h
Source file repositories/reference/linux-study-clean/include/linux/fb.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/fb.h- Extension
.h- Size
- 30653 bytes
- Lines
- 912
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
uapi/linux/fb.hlinux/mutex.hlinux/printk.hlinux/refcount.hlinux/types.hlinux/workqueue.hasm/video.h
Detected Declarations
struct backlight_devicestruct devicestruct device_nodestruct fb_infostruct fbcon_parstruct filestruct i2c_adapterstruct inodestruct lcd_devicestruct modulestruct notifier_blockstruct pagestruct videomodestruct vm_area_structstruct fb_chromastruct fb_monspecsstruct fb_cmap_userstruct fb_image_userstruct fb_cursor_userstruct fb_eventstruct fb_blit_capsstruct fb_pixmapstruct fb_deferred_io_pagerefstruct fb_deferred_iostruct fb_deferred_io_statestruct fb_opsstruct fb_tilemapstruct fb_tilerectstruct fb_tileareastruct fb_tileblitstruct fb_tilecursorstruct fb_tile_opsstruct fb_infostruct fb_videomodestruct dmt_videomodestruct fb_modelistfunction fb_register_clientfunction fb_unregister_clientfunction fb_notifier_call_chainfunction lock_fb_infofunction unlock_fb_infofunction __fb_pad_aligned_bufferfunction fb_be_mathfunction fb_bl_notify_blank
Annotated Snippet
struct fb_chroma {
__u32 redx; /* in fraction of 1024 */
__u32 greenx;
__u32 bluex;
__u32 whitex;
__u32 redy;
__u32 greeny;
__u32 bluey;
__u32 whitey;
};
struct fb_monspecs {
struct fb_chroma chroma;
struct fb_videomode *modedb; /* mode database */
__u8 manufacturer[4]; /* Manufacturer */
__u8 monitor[14]; /* Monitor String */
__u8 serial_no[14]; /* Serial Number */
__u8 ascii[14]; /* ? */
__u32 modedb_len; /* mode database length */
__u32 model; /* Monitor Model */
__u32 serial; /* Serial Number - Integer */
__u32 year; /* Year manufactured */
__u32 week; /* Week Manufactured */
__u32 hfmin; /* hfreq lower limit (Hz) */
__u32 hfmax; /* hfreq upper limit (Hz) */
__u32 dclkmin; /* pixelclock lower limit (Hz) */
__u32 dclkmax; /* pixelclock upper limit (Hz) */
__u16 input; /* display type - see FB_DISP_* */
__u16 dpms; /* DPMS support - see FB_DPMS_ */
__u16 signal; /* Signal Type - see FB_SIGNAL_* */
__u16 vfmin; /* vfreq lower limit (Hz) */
__u16 vfmax; /* vfreq upper limit (Hz) */
__u16 gamma; /* Gamma - in fractions of 100 */
__u16 gtf : 1; /* supports GTF */
__u16 misc; /* Misc flags - see FB_MISC_* */
__u8 version; /* EDID version... */
__u8 revision; /* ...and revision */
__u8 max_x; /* Maximum horizontal size (cm) */
__u8 max_y; /* Maximum vertical size (cm) */
};
struct fb_cmap_user {
__u32 start; /* First entry */
__u32 len; /* Number of entries */
__u16 __user *red; /* Red values */
__u16 __user *green;
__u16 __user *blue;
__u16 __user *transp; /* transparency, can be NULL */
};
struct fb_image_user {
__u32 dx; /* Where to place image */
__u32 dy;
__u32 width; /* Size of image */
__u32 height;
__u32 fg_color; /* Only used when a mono bitmap */
__u32 bg_color;
__u8 depth; /* Depth of the image */
const char __user *data; /* Pointer to image data */
struct fb_cmap_user cmap; /* color map info */
};
struct fb_cursor_user {
__u16 set; /* what to set */
__u16 enable; /* cursor on/off */
__u16 rop; /* bitop operation */
const char __user *mask; /* cursor mask bits */
struct fbcurpos hot; /* cursor hot spot */
struct fb_image_user image; /* Cursor image */
};
/*
* Register/unregister for framebuffer events
*/
#ifdef CONFIG_GUMSTIX_AM200EPD
/* only used by mach-pxa/am200epd.c */
#define FB_EVENT_FB_REGISTERED 0x05
#define FB_EVENT_FB_UNREGISTERED 0x06
#endif
struct fb_event {
struct fb_info *info;
void *data;
};
/* Enough for the VT console needs, see its max_font_width/height */
#define FB_MAX_BLIT_WIDTH 64
#define FB_MAX_BLIT_HEIGHT 128
Annotation
- Immediate include surface: `uapi/linux/fb.h`, `linux/mutex.h`, `linux/printk.h`, `linux/refcount.h`, `linux/types.h`, `linux/workqueue.h`, `asm/video.h`.
- Detected declarations: `struct backlight_device`, `struct device`, `struct device_node`, `struct fb_info`, `struct fbcon_par`, `struct file`, `struct i2c_adapter`, `struct inode`, `struct lcd_device`, `struct module`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: source implementation candidate.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.