include/asm-generic/video.h
Source file repositories/reference/linux-study-clean/include/asm-generic/video.h
File Facts
- System
- Linux kernel
- Corpus path
include/asm-generic/video.h- Extension
.h- Size
- 2925 bytes
- Lines
- 137
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: implementation source
- Status
- source implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/io.hlinux/mm_types.hlinux/pgtable.hlinux/types.h
Detected Declarations
struct devicefunction pgprot_framebufferfunction video_is_primary_devicefunction fb_readbfunction fb_readwfunction fb_readlfunction fb_readqfunction fb_writebfunction fb_writewfunction fb_writelfunction fb_writeqfunction fb_memcpy_fromiofunction fb_memcpy_toiofunction fb_memset_io
Annotated Snippet
#ifndef __ASM_GENERIC_VIDEO_H_
#define __ASM_GENERIC_VIDEO_H_
/*
* Only include this header file from your architecture's <asm/fb.h>.
*/
#include <linux/io.h>
#include <linux/mm_types.h>
#include <linux/pgtable.h>
#include <linux/types.h>
struct device;
#ifndef pgprot_framebuffer
#define pgprot_framebuffer pgprot_framebuffer
static inline pgprot_t pgprot_framebuffer(pgprot_t prot,
unsigned long vm_start, unsigned long vm_end,
unsigned long offset)
{
return pgprot_writecombine(prot);
}
#endif
#ifndef video_is_primary_device
#define video_is_primary_device video_is_primary_device
static inline bool video_is_primary_device(struct device *dev)
{
return false;
}
#endif
/*
* I/O helpers for the framebuffer. Prefer these functions over their
* regular counterparts. The regular I/O functions provide in-order
* access and swap bytes to/from little-endian ordering. Neither is
* required for framebuffers. Instead, the helpers read and write
* raw framebuffer data. Independent operations can be reordered for
* improved performance.
*/
#ifndef fb_readb
static inline u8 fb_readb(const volatile void __iomem *addr)
{
return __raw_readb(addr);
}
#define fb_readb fb_readb
#endif
#ifndef fb_readw
static inline u16 fb_readw(const volatile void __iomem *addr)
{
return __raw_readw(addr);
}
#define fb_readw fb_readw
#endif
#ifndef fb_readl
static inline u32 fb_readl(const volatile void __iomem *addr)
{
return __raw_readl(addr);
}
#define fb_readl fb_readl
#endif
#ifndef fb_readq
#if defined(__raw_readq)
static inline u64 fb_readq(const volatile void __iomem *addr)
{
return __raw_readq(addr);
}
#define fb_readq fb_readq
#endif
#endif
#ifndef fb_writeb
static inline void fb_writeb(u8 b, volatile void __iomem *addr)
{
__raw_writeb(b, addr);
}
#define fb_writeb fb_writeb
#endif
#ifndef fb_writew
static inline void fb_writew(u16 b, volatile void __iomem *addr)
{
__raw_writew(b, addr);
}
#define fb_writew fb_writew
#endif
Annotation
- Immediate include surface: `linux/io.h`, `linux/mm_types.h`, `linux/pgtable.h`, `linux/types.h`.
- Detected declarations: `struct device`, `function pgprot_framebuffer`, `function video_is_primary_device`, `function fb_readb`, `function fb_readw`, `function fb_readl`, `function fb_readq`, `function fb_writeb`, `function fb_writew`, `function fb_writel`.
- Atlas domain: Repository Root And Misc / include.
- Implementation status: source implementation candidate.
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.