drivers/media/firewire/firedtv.h
Source file repositories/reference/linux-study-clean/drivers/media/firewire/firedtv.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/firewire/firedtv.h- Extension
.h- Size
- 5035 bytes
- Lines
- 168
- 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/time.hlinux/dvb/dmx.hlinux/dvb/frontend.hlinux/list.hlinux/mod_devicetable.hlinux/mutex.hlinux/spinlock_types.hlinux/types.hlinux/wait.hlinux/workqueue.hmedia/demux.hmedia/dmxdev.hmedia/dvb_demux.hmedia/dvb_frontend.hmedia/dvb_net.hmedia/dvbdev.h
Detected Declarations
struct firedtv_tuner_statusstruct devicestruct input_devstruct fdtv_ir_contextstruct firedtvstruct dtv_frontend_propertiesstruct dvb_diseqc_master_cmdenum model_typefunction fdtv_register_rcfunction fdtv_unregister_rc
Annotated Snippet
struct firedtv_tuner_status {
unsigned active_system:8;
unsigned searching:1;
unsigned moving:1;
unsigned no_rf:1;
unsigned input:1;
unsigned selected_antenna:7;
unsigned ber:32;
unsigned signal_strength:8;
unsigned raster_frequency:2;
unsigned rf_frequency:22;
unsigned man_dep_info_length:8;
unsigned front_end_error:1;
unsigned antenna_error:1;
unsigned front_end_power_status:1;
unsigned power_supply:1;
unsigned carrier_noise_ratio:16;
unsigned power_supply_voltage:8;
unsigned antenna_voltage:8;
unsigned firewire_bus_voltage:8;
unsigned ca_mmi:1;
unsigned ca_pmt_reply:1;
unsigned ca_date_time_request:1;
unsigned ca_application_info:1;
unsigned ca_module_present_status:1;
unsigned ca_dvb_flag:1;
unsigned ca_error_flag:1;
unsigned ca_initialization_status:1;
};
enum model_type {
FIREDTV_UNKNOWN = 0,
FIREDTV_DVB_S = 1,
FIREDTV_DVB_C = 2,
FIREDTV_DVB_T = 3,
FIREDTV_DVB_S2 = 4,
};
struct device;
struct input_dev;
struct fdtv_ir_context;
struct firedtv {
struct device *device;
struct list_head list;
struct dvb_adapter adapter;
struct dmxdev dmxdev;
struct dvb_demux demux;
struct dmx_frontend frontend;
struct dvb_net dvbnet;
struct dvb_frontend fe;
struct dvb_device *cadev;
int ca_last_command;
int ca_time_interval;
struct mutex avc_mutex;
wait_queue_head_t avc_wait;
bool avc_reply_received;
struct work_struct remote_ctrl_work;
struct input_dev *remote_ctrl_dev;
enum model_type type;
char subunit;
s8 isochannel;
struct fdtv_ir_context *ir_context;
enum fe_sec_voltage voltage;
enum fe_sec_tone_mode tone;
struct mutex demux_mutex;
unsigned long channel_active;
u16 channel_pid[16];
int avc_data_length;
u8 avc_data[512];
};
/* firedtv-avc.c */
int avc_recv(struct firedtv *fdtv, void *data, size_t length);
int avc_tuner_status(struct firedtv *fdtv, struct firedtv_tuner_status *stat);
struct dtv_frontend_properties;
int avc_tuner_dsd(struct firedtv *fdtv, struct dtv_frontend_properties *params);
int avc_tuner_set_pids(struct firedtv *fdtv, unsigned char pidc, u16 pid[]);
int avc_tuner_get_ts(struct firedtv *fdtv);
int avc_identify_subunit(struct firedtv *fdtv);
struct dvb_diseqc_master_cmd;
int avc_lnb_control(struct firedtv *fdtv, char voltage, char burst,
char conttone, char nrdiseq,
Annotation
- Immediate include surface: `linux/time.h`, `linux/dvb/dmx.h`, `linux/dvb/frontend.h`, `linux/list.h`, `linux/mod_devicetable.h`, `linux/mutex.h`, `linux/spinlock_types.h`, `linux/types.h`.
- Detected declarations: `struct firedtv_tuner_status`, `struct device`, `struct input_dev`, `struct fdtv_ir_context`, `struct firedtv`, `struct dtv_frontend_properties`, `struct dvb_diseqc_master_cmd`, `enum model_type`, `function fdtv_register_rc`, `function fdtv_unregister_rc`.
- 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.