include/drm/drm_panel.h
Source file repositories/reference/linux-study-clean/include/drm/drm_panel.h
File Facts
- System
- Linux kernel
- Corpus path
include/drm/drm_panel.h- Extension
.h- Size
- 10673 bytes
- Lines
- 393
- 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/err.hlinux/errno.hlinux/list.hlinux/mutex.hlinux/kref.h
Detected Declarations
struct backlight_devicestruct dentrystruct device_nodestruct drm_connectorstruct drm_panel_followerstruct drm_panelstruct display_timingstruct drm_panel_funcsstruct drm_panel_follower_funcsstruct drm_panel_followerstruct drm_panelenum drm_panel_orientationfunction of_drm_get_panel_orientationfunction drm_is_panel_followerfunction drm_panel_add_followerfunction drm_panel_remove_followerfunction drm_panel_of_backlight
Annotated Snippet
struct drm_panel_funcs {
/**
* @prepare:
*
* Turn on panel and perform set up.
*
* This function is optional.
*/
int (*prepare)(struct drm_panel *panel);
/**
* @enable:
*
* Enable panel (turn on back light, etc.).
*
* This function is optional.
*/
int (*enable)(struct drm_panel *panel);
/**
* @disable:
*
* Disable panel (turn off back light, etc.).
*
* This function is optional.
*/
int (*disable)(struct drm_panel *panel);
/**
* @unprepare:
*
* Turn off panel.
*
* This function is optional.
*/
int (*unprepare)(struct drm_panel *panel);
/**
* @get_modes:
*
* Add modes to the connector that the panel is attached to
* and returns the number of modes added.
*
* This function is mandatory.
*/
int (*get_modes)(struct drm_panel *panel,
struct drm_connector *connector);
/**
* @get_orientation:
*
* Return the panel orientation set by device tree or EDID.
*
* This function is optional.
*/
enum drm_panel_orientation (*get_orientation)(struct drm_panel *panel);
/**
* @get_timings:
*
* Copy display timings into the provided array and return
* the number of display timings available.
*
* This function is optional.
*/
int (*get_timings)(struct drm_panel *panel, unsigned int num_timings,
struct display_timing *timings);
/**
* @debugfs_init:
*
* Allows panels to create panels-specific debugfs files.
*/
void (*debugfs_init)(struct drm_panel *panel, struct dentry *root);
};
struct drm_panel_follower_funcs {
/**
* @panel_prepared:
*
* Called after the panel has been powered on.
*/
int (*panel_prepared)(struct drm_panel_follower *follower);
/**
* @panel_unpreparing:
*
* Called before the panel is powered off.
*/
int (*panel_unpreparing)(struct drm_panel_follower *follower);
Annotation
- Immediate include surface: `linux/err.h`, `linux/errno.h`, `linux/list.h`, `linux/mutex.h`, `linux/kref.h`.
- Detected declarations: `struct backlight_device`, `struct dentry`, `struct device_node`, `struct drm_connector`, `struct drm_panel_follower`, `struct drm_panel`, `struct display_timing`, `struct drm_panel_funcs`, `struct drm_panel_follower_funcs`, `struct drm_panel_follower`.
- 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.