drivers/media/pci/ngene/ngene-cards.c
Source file repositories/reference/linux-study-clean/drivers/media/pci/ngene/ngene-cards.c
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/pci/ngene/ngene-cards.c- Extension
.c- Size
- 34129 bytes
- Lines
- 1240
- Domain
- Driver Families
- Bucket
- drivers/media
- Inferred role
- Driver Families: operation-table or driver-model contract
- Status
- pattern 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 an operation table; this is where Linux turns generic core objects into subsystem-specific behavior.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/module.hlinux/init.hlinux/pci.hlinux/pci_ids.hngene.hstv6110x.hstv090x.hlnbh24.hlgdt330x.hmt2131.htda18271c2dd.hdrxk.hdrxd.hdvb-pll.hstv0367.hstv0367_priv.htda18212.hcxd2841er.hstv0910.hstv6111.hlnbh25.h
Detected Declarations
function Copyrightfunction i2c_writefunction i2c_write_regfunction i2c_readfunction i2c_read_reg16function i2c_read_regsfunction i2c_read_regfunction tuner_attach_stv6110function tuner_attach_stv6111function drxk_gate_ctrlfunction tuner_attach_tda18271function tuner_tda18212_pingfunction tuner_attach_tda18212function tuner_attach_probefunction demod_attach_stv0900function demod_attach_stv0910function demod_attach_stv0367function demod_attach_cxd28xxfunction cineS2_tuner_i2c_lockfunction port_has_stv0900function port_has_drxkfunction port_has_stv0367function ngene_port_has_cxd2099function demod_attach_drxkfunction init_xo2function port_has_xo2function cineS2_probefunction demod_attach_lg330xfunction demod_attach_drxdfunction tuner_attach_dtt7520xfunction i2c_write_eepromfunction i2c_read_eepromfunction ReadEEPromfunction WriteEEPromfunction eeprom_read_ushortfunction eeprom_write_ushortfunction osc_deviationfunction ngene_error_detectedfunction ngene_slot_resetfunction ngene_resumefunction module_init_ngenefunction module_exit_ngenemodule init module_init_ngene
Annotated Snippet
static struct pci_driver ngene_pci_driver = {
.name = "ngene",
.id_table = ngene_id_tbl,
.probe = ngene_probe,
.remove = ngene_remove,
.err_handler = &ngene_errors,
.shutdown = ngene_shutdown,
};
static __init int module_init_ngene(void)
{
/* pr_*() since we don't have a device to use with dev_*() yet */
pr_info("nGene PCIE bridge driver, Copyright (C) 2005-2007 Micronas\n");
return pci_register_driver(&ngene_pci_driver);
}
static __exit void module_exit_ngene(void)
{
pci_unregister_driver(&ngene_pci_driver);
}
module_init(module_init_ngene);
module_exit(module_exit_ngene);
MODULE_DESCRIPTION("nGene");
MODULE_AUTHOR("Micronas, Ralph Metzler, Manfred Voelkel");
MODULE_LICENSE("GPL");
Annotation
- Immediate include surface: `linux/module.h`, `linux/init.h`, `linux/pci.h`, `linux/pci_ids.h`, `ngene.h`, `stv6110x.h`, `stv090x.h`, `lnbh24.h`.
- Detected declarations: `function Copyright`, `function i2c_write`, `function i2c_write_reg`, `function i2c_read`, `function i2c_read_reg16`, `function i2c_read_regs`, `function i2c_read_reg`, `function tuner_attach_stv6110`, `function tuner_attach_stv6111`, `function drxk_gate_ctrl`.
- Atlas domain: Driver Families / drivers/media.
- Implementation status: pattern 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.