drivers/gpu/drm/bridge/analogix/anx7625.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/bridge/analogix/anx7625.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/bridge/analogix/anx7625.h- Extension
.h- Size
- 14725 bytes
- Lines
- 515
- Domain
- Driver Families
- Bucket
- drivers/gpu
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
struct anx7625_platform_datastruct anx7625_i2c_clientstruct typec_portstruct usb_role_switchstruct fw_msgstruct anx7625_dataenum audio_fsenum audio_wd_len
Annotated Snippet
struct anx7625_platform_data {
struct gpio_desc *gpio_p_on;
struct gpio_desc *gpio_reset;
struct regulator_bulk_data supplies[3];
struct drm_bridge *panel_bridge;
int intp_irq;
int is_dpi;
int mipi_lanes;
int audio_en;
int dp_lane0_swing_reg_cnt;
u8 lane0_reg_data[DP_TX_SWING_REG_CNT];
int dp_lane1_swing_reg_cnt;
u8 lane1_reg_data[DP_TX_SWING_REG_CNT];
u32 low_power_mode;
struct device_node *mipi_host_node;
};
struct anx7625_i2c_client {
struct i2c_client *tx_p0_client;
struct i2c_client *tx_p1_client;
struct i2c_client *tx_p2_client;
struct i2c_client *rx_p0_client;
struct i2c_client *rx_p1_client;
struct i2c_client *rx_p2_client;
struct i2c_client *tcpc_client;
};
struct typec_port;
struct usb_role_switch;
#define MAX_BUF_LEN 30
struct fw_msg {
u8 msg_len;
u8 msg_type;
u8 buf[MAX_BUF_LEN];
} __packed;
#define HEADER_LEN 2
struct anx7625_data {
struct anx7625_platform_data pdata;
struct platform_device *audio_pdev;
struct typec_port *typec_port;
struct usb_role_switch *role_sw;
int typec_data_role;
int hpd_status;
int hpd_high_cnt;
int dp_en;
int hdcp_cp;
/* Lock for work queue */
struct mutex lock;
struct device *dev;
struct anx7625_i2c_client i2c;
struct i2c_client *last_client;
struct timer_list hdcp_timer;
const struct drm_edid *cached_drm_edid;
struct device *codec_dev;
hdmi_codec_plugged_cb plugged_cb;
struct work_struct work;
struct workqueue_struct *workqueue;
struct delayed_work hdcp_work;
struct workqueue_struct *hdcp_workqueue;
/* Lock for hdcp work queue */
struct mutex hdcp_wq_lock;
/* Lock for aux transfer and disable */
struct mutex aux_lock;
char edid_block;
struct display_timing dt;
u8 display_timing_valid;
struct drm_bridge bridge;
u8 bridge_attached;
struct drm_connector *connector;
struct mipi_dsi_device *dsi;
struct drm_dp_aux aux;
struct fw_msg send_msg;
};
#endif /* __ANX7625_H__ */
Annotation
- Detected declarations: `struct anx7625_platform_data`, `struct anx7625_i2c_client`, `struct typec_port`, `struct usb_role_switch`, `struct fw_msg`, `struct anx7625_data`, `enum audio_fs`, `enum audio_wd_len`.
- Atlas domain: Driver Families / drivers/gpu.
- 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.