STRUCT S3C_FB_WIN(9)
π struct s3c_fb_win(9) β the Kernel API Manual, bestie edition
okay so you opened the Kernel API Manual page for struct s3c_fb_win(9) and honestly? iconic choice. this is the per-window private-data glow-up for every framebuffer, and we're gonna walk through it together π«Ά
β¨ NAME β¨
struct s3c_fb_win β per window private data for each framebuffer. that's it, that's the whole vibe π
πΈ SYNOPSIS πΈ
here's the struct in all its glory, no cap, copy it exactly:
struct s3c_fb_win {
struct s3c_fb_pd_win *windata;
struct s3c_fb *parent;
struct fb_info *fbinfo;
struct s3c_fb_palette palette;
struct s3c_fb_win_variant variant;
u32 *palette_buffer;
u32 pseudo_palette[16];
unsigned int index;
};
π Members π
bestie, let's meet the whole cast π each one is a main character:
windataβ the platform data that got supplied for the window configuration. it's giving "here's everything you need to set me up" β¨parentβ the hardware that this window is part of. yes, every window has a parent, and that parent is the literal silicon πfbinfoβ a pointer to the framebuffer info for this window. (the og says "pointer pack" β we love a typo era, but it's a pointer, fr fr π)paletteβ the bitfields for turning r/g/b into a hardware palette entry. color math slay πvariantβ the variant information for this window. lowkey essential, highkey underrated πpalette_bufferβ buffer/cache to hold palette entries. the storage baddie πpseudo_paletteβ for use inTRUECOLOURmodes for entries0..15. sixteen little slots of pure potential πindexβ the window number of this window. yes it's a window numbering itself, it's giving self-aware π
π¦ SEE ALSO π¦
the whole friend group, in the order the manual gives it β don't come for me, this is the exact list:
Kernel file ./drivers/video/fbdev/s3c-fb.c, plus struct s3c_fb_variant(9), struct s3c_fb_win_variant(9), struct s3c_fb_driverdata(9), struct s3c_fb_palette(9), struct s3c_fb_vsync(9), struct s3c_fb(9), s3c_fb_validate_win_bpp(9), s3c_fb_check_var(9), s3c_fb_calc_pixclk(9), s3c_fb_align_word(9), vidosd_set_size(9), vidosd_set_alpha(9), shadow_protect_win(9), s3c_fb_enable(9), s3c_fb_set_par(9), s3c_fb_update_palette(9), s3c_fb_setcolreg(9), s3c_fb_blank(9), s3c_fb_pan_display(9), s3c_fb_enable_irq(9), s3c_fb_disable_irq(9), s3c_fb_wait_for_vsync(9), s3c_fb_missing_pixclock(9), s3c_fb_alloc_memory(9), s3c_fb_free_memory(9), s3c_fb_release_win(9), s3c_fb_probe_win(9), s3c_fb_set_rgb_timing(9), s3c_fb_clear_win(9), s3c_fb_remove(9).
like, that's thirty-ish functions, they ate and left no crumbs π₯
ngl, if you're poking at framebuffer windows on an s3c platform, you're gonna be living in ./drivers/video/fbdev/s3c-fb.c. go read it, it's right there π§
and that's the page!! footer energy for the win: this lives under ./drivers/video/fbdev, dated October 2026, and it's the struct s3c_fb_win(9) page of the Kernel API Manual. periodt π
β
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms