drivers/staging/media/av7110/av7110.h
Source file repositories/reference/linux-study-clean/drivers/staging/media/av7110/av7110.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/staging/media/av7110/av7110.h- Extension
.h- Size
- 7068 bytes
- Lines
- 312
- Domain
- Driver Families
- Bucket
- drivers/staging
- 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/interrupt.hlinux/socket.hlinux/netdevice.hlinux/i2c.hlinux/input.hlinux/time.hlinux/dvb/video.hlinux/dvb/audio.hlinux/dvb/dmx.hlinux/dvb/ca.hlinux/dvb/osd.hlinux/dvb/net.hlinux/mutex.hmedia/dvbdev.hmedia/demux.hmedia/dvb_demux.hmedia/dmxdev.hdvb_filter.hmedia/dvb_net.hmedia/dvb_ringbuffer.hmedia/dvb_frontend.hves1820.hves1x93.hstv0299.htda8083.hsp8870.hstv0297.hl64781.hmedia/drv-intf/saa7146_vv.h
Detected Declarations
struct av7110_p2tstruct dvb_video_eventsstruct av7110struct infraredstruct av7110enum av7110_video_mode
Annotated Snippet
struct av7110_p2t {
u8 pes[TS_SIZE];
u8 counter;
long pos;
int frags;
struct dvb_demux_feed *feed;
};
/* video MPEG decoder events: */
/* (code copied from dvb_frontend.c, should maybe be factored out...) */
#define MAX_VIDEO_EVENT 8
struct dvb_video_events {
struct video_event events[MAX_VIDEO_EVENT];
int eventw;
int eventr;
int overflow;
wait_queue_head_t wait_queue;
spinlock_t lock;
};
struct av7110;
/* infrared remote control */
struct infrared {
struct rc_dev *rcdev;
char input_phys[32];
u32 ir_config;
};
#define MAX_CI_SLOTS 2
/* place to store all the necessary device information */
struct av7110 {
/* devices */
struct dvb_device dvb_dev;
struct dvb_net dvb_net;
struct video_device v4l_dev;
struct video_device vbi_dev;
struct saa7146_dev *dev;
struct i2c_adapter i2c_adap;
char *card_name;
/* support for analog module of dvb-c */
int analog_tuner_flags;
int current_input;
u32 current_freq;
struct tasklet_struct debi_tasklet;
struct tasklet_struct gpio_tasklet;
int adac_type; /* audio DAC type */
#define DVB_ADAC_TI 0
#define DVB_ADAC_CRYSTAL 1
#define DVB_ADAC_MSP34x0 2
#define DVB_ADAC_MSP34x5 3
#define DVB_ADAC_NONE -1
/* buffers */
void *iobuf; /* memory for all buffers */
struct dvb_ringbuffer avout; /* buffer for video or A/V mux */
#define AVOUTLEN (128 * 1024)
struct dvb_ringbuffer aout; /* buffer for audio */
#define AOUTLEN (64 * 1024)
void *bmpbuf;
#define BMPLEN (8 * 32768 + 1024)
/* bitmap buffers and states */
int bmpp;
int bmplen;
volatile int bmp_state;
#define BMP_NONE 0
#define BMP_LOADING 1
#define BMP_LOADED 2
wait_queue_head_t bmpq;
/* DEBI and polled command interface */
spinlock_t debilock;
struct mutex dcomlock;
volatile int debitype;
volatile int debilen;
/* Recording and playback flags */
Annotation
- Immediate include surface: `linux/interrupt.h`, `linux/socket.h`, `linux/netdevice.h`, `linux/i2c.h`, `linux/input.h`, `linux/time.h`, `linux/dvb/video.h`, `linux/dvb/audio.h`.
- Detected declarations: `struct av7110_p2t`, `struct dvb_video_events`, `struct av7110`, `struct infrared`, `struct av7110`, `enum av7110_video_mode`.
- Atlas domain: Driver Families / drivers/staging.
- 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.