drivers/media/pci/saa7164/saa7164.h

Source file repositories/reference/linux-study-clean/drivers/media/pci/saa7164/saa7164.h

File Facts

System
Linux kernel
Corpus path
drivers/media/pci/saa7164/saa7164.h
Extension
.h
Size
18069 bytes
Lines
630
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.

Dependency Surface

Detected Declarations

Annotated Snippet

struct saa7164_unit {
	enum saa7164_unit_type type;
	u8	id;
	char	*name;
	enum saa7164_i2c_bus_nr i2c_bus_nr;
	u8	i2c_bus_addr;
	u8	i2c_reg_len;
};

struct saa7164_board {
	char	*name;
	enum port_t porta, portb, portc,
		portd, porte, portf;
	enum {
		SAA7164_CHIP_UNDEFINED = 0,
		SAA7164_CHIP_REV2,
		SAA7164_CHIP_REV3,
	} chiprev;
	struct	saa7164_unit unit[SAA7164_MAX_UNITS];
};

struct saa7164_subid {
	u16     subvendor;
	u16     subdevice;
	u32     card;
};

struct saa7164_encoder_fh {
	struct v4l2_fh fh;
	struct saa7164_port *port;
	atomic_t v4l_reading;
};

static inline struct saa7164_encoder_fh *to_saa7164_encoder_fh(struct file *filp)
{
	return container_of(file_to_v4l2_fh(filp), struct saa7164_encoder_fh, fh);
}

struct saa7164_vbi_fh {
	struct v4l2_fh fh;
	struct saa7164_port *port;
	atomic_t v4l_reading;
};

static inline struct saa7164_vbi_fh *to_saa7164_vbi_fh(struct file *filp)
{
	return container_of(file_to_v4l2_fh(filp), struct saa7164_vbi_fh, fh);
}

struct saa7164_histogram_bucket {
	u32 val;
	u32 count;
	u64 update_time;
};

struct saa7164_histogram {
	char name[32];
	struct saa7164_histogram_bucket counter1[64];
};

struct saa7164_user_buffer {
	struct list_head list;

	/* Attributes */
	u8  *data;
	u32 pos;
	u32 actual_size;

	u32 crc;
};

struct saa7164_fw_status {

	/* RISC Core details */
	u32	status;
	u32	mode;
	u32	spec;
	u32	inst;
	u32	cpuload;
	u32	remainheap;

	/* Firmware version */
	u32	version;
	u32	major;
	u32	sub;
	u32	rel;
	u32	buildnr;
};

struct saa7164_dvb {

Annotation

Implementation Notes