drivers/media/dvb-frontends/stv0900_priv.h
Source file repositories/reference/linux-study-clean/drivers/media/dvb-frontends/stv0900_priv.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/dvb-frontends/stv0900_priv.h- Extension
.h- Size
- 9444 bytes
- Lines
- 394
- 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/i2c.h
Detected Declarations
struct stv000_lookpointstruct stv0900_tablestruct stv0900_init_paramsstruct stv0900_search_paramsstruct stv0900_signal_infostruct stv0900_internalstruct stv0900_stateenum fe_stv0900_errorenum fe_stv0900_clock_typeenum fe_stv0900_search_stateenum fe_stv0900_ldpc_stateenum fe_stv0900_signal_typeenum fe_stv0900_demod_numenum fe_stv0900_tracking_standardenum fe_stv0900_search_standardenum fe_stv0900_search_algoenum fe_stv0900_modulationenum fe_stv0900_modcodeenum fe_stv0900_fecenum fe_stv0900_frame_lengthenum fe_stv0900_pilotenum fe_stv0900_rolloffenum fe_stv0900_search_iqenum stv0900_iq_inversionenum fe_stv0900_diseqc_modeenum fe_stv0900_demod_mode
Annotated Snippet
struct stv000_lookpoint {
s32 realval;/* real value */
s32 regval;/* binary value */
};
/* Lookup table definition */
struct stv0900_table{
s32 size;/* Size of the lookup table */
struct stv000_lookpoint table[STV0900_MAXLOOKUPSIZE];/* Lookup table */
};
enum fe_stv0900_error {
STV0900_NO_ERROR = 0,
STV0900_INVALID_HANDLE,
STV0900_BAD_PARAMETER,
STV0900_I2C_ERROR,
STV0900_SEARCH_FAILED,
};
enum fe_stv0900_clock_type {
STV0900_USE_REGISTERS_DEFAULT,
STV0900_SERIAL_PUNCT_CLOCK,/*Serial punctured clock */
STV0900_SERIAL_CONT_CLOCK,/*Serial continues clock */
STV0900_PARALLEL_PUNCT_CLOCK,/*Parallel punctured clock */
STV0900_DVBCI_CLOCK/*Parallel continues clock : DVBCI */
};
enum fe_stv0900_search_state {
STV0900_SEARCH = 0,
STV0900_PLH_DETECTED,
STV0900_DVBS2_FOUND,
STV0900_DVBS_FOUND
};
enum fe_stv0900_ldpc_state {
STV0900_PATH1_OFF_PATH2_OFF = 0,
STV0900_PATH1_ON_PATH2_OFF = 1,
STV0900_PATH1_OFF_PATH2_ON = 2,
STV0900_PATH1_ON_PATH2_ON = 3
};
enum fe_stv0900_signal_type {
STV0900_NOAGC1 = 0,
STV0900_AGC1OK,
STV0900_NOTIMING,
STV0900_ANALOGCARRIER,
STV0900_TIMINGOK,
STV0900_NOAGC2,
STV0900_AGC2OK,
STV0900_NOCARRIER,
STV0900_CARRIEROK,
STV0900_NODATA,
STV0900_DATAOK,
STV0900_OUTOFRANGE,
STV0900_RANGEOK
};
enum fe_stv0900_demod_num {
STV0900_DEMOD_1,
STV0900_DEMOD_2
};
enum fe_stv0900_tracking_standard {
STV0900_DVBS1_STANDARD,/* Found Standard*/
STV0900_DVBS2_STANDARD,
STV0900_DSS_STANDARD,
STV0900_TURBOCODE_STANDARD,
STV0900_UNKNOWN_STANDARD
};
enum fe_stv0900_search_standard {
STV0900_AUTO_SEARCH,
STV0900_SEARCH_DVBS1,/* Search Standard*/
STV0900_SEARCH_DVBS2,
STV0900_SEARCH_DSS,
STV0900_SEARCH_TURBOCODE
};
enum fe_stv0900_search_algo {
STV0900_BLIND_SEARCH,/* offset freq and SR are Unknown */
STV0900_COLD_START,/* only the SR is known */
STV0900_WARM_START/* offset freq and SR are known */
};
enum fe_stv0900_modulation {
STV0900_QPSK,
STV0900_8PSK,
STV0900_16APSK,
STV0900_32APSK,
Annotation
- Immediate include surface: `linux/i2c.h`.
- Detected declarations: `struct stv000_lookpoint`, `struct stv0900_table`, `struct stv0900_init_params`, `struct stv0900_search_params`, `struct stv0900_signal_info`, `struct stv0900_internal`, `struct stv0900_state`, `enum fe_stv0900_error`, `enum fe_stv0900_clock_type`, `enum fe_stv0900_search_state`.
- 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.