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.

Dependency Surface

Detected Declarations

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

Implementation Notes