drivers/media/usb/gspca/m5602/m5602_bridge.h
Source file repositories/reference/linux-study-clean/drivers/media/usb/gspca/m5602/m5602_bridge.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/usb/gspca/m5602/m5602_bridge.h- Extension
.h- Size
- 4868 bytes
- Lines
- 162
- Domain
- Driver Families
- Bucket
- drivers/media
- 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
linux/slab.hgspca.h
Detected Declarations
struct sd
Annotated Snippet
struct sd {
struct gspca_dev gspca_dev;
/* A pointer to the currently connected sensor */
const struct m5602_sensor *sensor;
/* The current frame's id, used to detect frame boundaries */
u8 frame_id;
/* The current frame count */
u32 frame_count;
/* Camera rotation polling thread for "flipable" cams */
struct task_struct *rotation_thread;
struct { /* auto-white-bal + green/red/blue balance control cluster */
struct v4l2_ctrl *auto_white_bal;
struct v4l2_ctrl *red_bal;
struct v4l2_ctrl *blue_bal;
struct v4l2_ctrl *green_bal;
};
struct { /* autoexpo / expo cluster */
struct v4l2_ctrl *autoexpo;
struct v4l2_ctrl *expo;
};
struct { /* autogain / gain cluster */
struct v4l2_ctrl *autogain;
struct v4l2_ctrl *gain;
};
struct { /* hflip/vflip cluster */
struct v4l2_ctrl *hflip;
struct v4l2_ctrl *vflip;
};
};
int m5602_read_bridge(
struct sd *sd, const u8 address, u8 *i2c_data);
int m5602_write_bridge(
struct sd *sd, const u8 address, const u8 i2c_data);
int m5602_write_sensor(struct sd *sd, const u8 address,
u8 *i2c_data, const u8 len);
int m5602_read_sensor(struct sd *sd, const u8 address,
u8 *i2c_data, const u8 len);
#endif
Annotation
- Immediate include surface: `linux/slab.h`, `gspca.h`.
- Detected declarations: `struct sd`.
- Atlas domain: Driver Families / drivers/media.
- 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.