include/media/v4l2-fwnode.h
Source file repositories/reference/linux-study-clean/include/media/v4l2-fwnode.h
File Facts
- System
- Linux kernel
- Corpus path
include/media/v4l2-fwnode.h- Extension
.h- Size
- 16048 bytes
- Lines
- 417
- 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/errno.hlinux/fwnode.hlinux/list.hlinux/types.hmedia/v4l2-mediabus.h
Detected Declarations
struct v4l2_fwnode_endpointstruct v4l2_fwnode_device_propertiesstruct v4l2_fwnode_linkstruct v4l2_connector_linkstruct v4l2_fwnode_connector_analogstruct v4l2_fwnode_connectorenum v4l2_fwnode_orientationenum v4l2_connector_typeenum v4l2_fwnode_bus_type
Annotated Snippet
struct v4l2_fwnode_endpoint {
struct fwnode_endpoint base;
enum v4l2_mbus_type bus_type;
struct {
struct v4l2_mbus_config_parallel parallel;
struct v4l2_mbus_config_mipi_csi1 mipi_csi1;
struct v4l2_mbus_config_mipi_csi2 mipi_csi2;
} bus;
u64 *link_frequencies;
unsigned int nr_of_link_frequencies;
};
/**
* V4L2_FWNODE_PROPERTY_UNSET - identify a non initialized property
*
* All properties in &struct v4l2_fwnode_device_properties are initialized
* to this value.
*/
#define V4L2_FWNODE_PROPERTY_UNSET (-1U)
/**
* enum v4l2_fwnode_orientation - possible device orientation
* @V4L2_FWNODE_ORIENTATION_FRONT: device installed on the front side
* @V4L2_FWNODE_ORIENTATION_BACK: device installed on the back side
* @V4L2_FWNODE_ORIENTATION_EXTERNAL: device externally located
*/
enum v4l2_fwnode_orientation {
V4L2_FWNODE_ORIENTATION_FRONT,
V4L2_FWNODE_ORIENTATION_BACK,
V4L2_FWNODE_ORIENTATION_EXTERNAL
};
/**
* struct v4l2_fwnode_device_properties - fwnode device properties
* @orientation: device orientation. See &enum v4l2_fwnode_orientation
* @rotation: device rotation
*/
struct v4l2_fwnode_device_properties {
enum v4l2_fwnode_orientation orientation;
unsigned int rotation;
};
/**
* struct v4l2_fwnode_link - a link between two endpoints
* @local_node: pointer to device_node of this endpoint
* @local_port: identifier of the port this endpoint belongs to
* @local_id: identifier of the id this endpoint belongs to
* @remote_node: pointer to device_node of the remote endpoint
* @remote_port: identifier of the port the remote endpoint belongs to
* @remote_id: identifier of the id the remote endpoint belongs to
*/
struct v4l2_fwnode_link {
struct fwnode_handle *local_node;
unsigned int local_port;
unsigned int local_id;
struct fwnode_handle *remote_node;
unsigned int remote_port;
unsigned int remote_id;
};
/**
* enum v4l2_connector_type - connector type
* @V4L2_CONN_UNKNOWN: unknown connector type, no V4L2 connector configuration
* @V4L2_CONN_COMPOSITE: analog composite connector
* @V4L2_CONN_SVIDEO: analog svideo connector
*/
enum v4l2_connector_type {
V4L2_CONN_UNKNOWN,
V4L2_CONN_COMPOSITE,
V4L2_CONN_SVIDEO,
};
/**
* struct v4l2_connector_link - connector link data structure
* @head: structure to be used to add the link to the
* &struct v4l2_fwnode_connector
* @fwnode_link: &struct v4l2_fwnode_link link between the connector and the
* device the connector belongs to.
*/
struct v4l2_connector_link {
struct list_head head;
struct v4l2_fwnode_link fwnode_link;
};
/**
* struct v4l2_fwnode_connector_analog - analog connector data structure
* @sdtv_stds: sdtv standards this connector supports, set to V4L2_STD_ALL
* if no restrictions are specified.
*/
struct v4l2_fwnode_connector_analog {
Annotation
- Immediate include surface: `linux/errno.h`, `linux/fwnode.h`, `linux/list.h`, `linux/types.h`, `media/v4l2-mediabus.h`.
- Detected declarations: `struct v4l2_fwnode_endpoint`, `struct v4l2_fwnode_device_properties`, `struct v4l2_fwnode_link`, `struct v4l2_connector_link`, `struct v4l2_fwnode_connector_analog`, `struct v4l2_fwnode_connector`, `enum v4l2_fwnode_orientation`, `enum v4l2_connector_type`, `enum v4l2_fwnode_bus_type`.
- 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.