drivers/media/pci/saa7134/saa7134-core.c

Source file repositories/reference/linux-study-clean/drivers/media/pci/saa7134/saa7134-core.c

File Facts

System
Linux kernel
Corpus path
drivers/media/pci/saa7134/saa7134-core.c
Extension
.c
Size
41486 bytes
Lines
1525
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.

Dependency Surface

Detected Declarations

Annotated Snippet

static struct pci_driver saa7134_pci_driver = {
	.name     = "saa7134",
	.id_table = saa7134_pci_tbl,
	.probe    = saa7134_initdev,
	.remove   = saa7134_finidev,
	.driver.pm = &saa7134_pm_ops,
};

static int __init saa7134_init(void)
{
	pr_info("saa7130/34: v4l2 driver version %s loaded\n",
	       SAA7134_VERSION);
	return pci_register_driver(&saa7134_pci_driver);
}

static void __exit saa7134_fini(void)
{
	pci_unregister_driver(&saa7134_pci_driver);
}

module_init(saa7134_init);
module_exit(saa7134_fini);

/* ----------------------------------------------------------- */

EXPORT_SYMBOL(saa7134_set_gpio);
EXPORT_SYMBOL(saa7134_boards);

/* ----------------- for the DMA sound modules --------------- */

EXPORT_SYMBOL(saa7134_dmasound_init);
EXPORT_SYMBOL(saa7134_dmasound_exit);
EXPORT_SYMBOL(saa7134_pgtable_free);
EXPORT_SYMBOL(saa7134_pgtable_build);
EXPORT_SYMBOL(saa7134_pgtable_alloc);
EXPORT_SYMBOL(saa7134_set_dmabits);

Annotation

Implementation Notes