drivers/i2c/busses/i2c-designware-pcidrv.c

Source file repositories/reference/linux-study-clean/drivers/i2c/busses/i2c-designware-pcidrv.c

File Facts

System
Linux kernel
Corpus path
drivers/i2c/busses/i2c-designware-pcidrv.c
Extension
.c
Size
10258 bytes
Lines
389
Domain
Driver Families
Bucket
drivers/i2c
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 dw_i2c_driver = {
	.name		= DRIVER_NAME,
	.probe		= i2c_dw_pci_probe,
	.remove		= i2c_dw_pci_remove,
	.shutdown	= i2c_dw_pci_shutdown,
	.driver         = {
		.pm	= pm_ptr(&i2c_dw_dev_pm_ops),
	},
	.id_table	= i2c_designware_pci_ids,
};
module_pci_driver(dw_i2c_driver);

MODULE_AUTHOR("Baruch Siach <baruch@tkos.co.il>");
MODULE_DESCRIPTION("Synopsys DesignWare PCI I2C bus adapter");
MODULE_LICENSE("GPL");
MODULE_IMPORT_NS("I2C_DW");
MODULE_IMPORT_NS("I2C_DW_COMMON");

Annotation

Implementation Notes