drivers/media/i2c/ccs/ccs-core.c
Source file repositories/reference/linux-study-clean/drivers/media/i2c/ccs/ccs-core.c
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/i2c/ccs/ccs-core.c- Extension
.c- Size
- 100722 bytes
- Lines
- 3733
- Domain
- Driver Families
- Bucket
- drivers/media
- Inferred role
- Driver Families: exported/initcall integration point
- Status
- integration 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.
- Exports symbols or registers init work; inspect boot/module ordering and who consumes the exported contract.
- Allocates kernel memory; connect allocation flags and lifetime to context constraints.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/bits.hlinux/clk.hlinux/delay.hlinux/device.hlinux/firmware.hlinux/gpio/consumer.hlinux/module.hlinux/pm_runtime.hlinux/property.hlinux/regulator/consumer.hlinux/slab.hlinux/smiapp.hlinux/v4l2-mediabus.hmedia/mipi-csi2.hmedia/v4l2-cci.hmedia/v4l2-device.hmedia/v4l2-fwnode.huapi/linux/ccs.hccs.h
Detected Declarations
struct ccs_devicefunction ccs_assign_limitfunction ccs_limit_ptrfunction ccs_replace_limitfunction ccs_get_limitfunction ccs_read_all_limitsfunction ccs_mipi_csi2_data_typefunction ccs_read_frame_fmtfunction ccs_pll_configurefunction ccs_pll_tryfunction ccs_get_binningfunction ccs_get_scalingfunction ccs_pll_updatefunction __ccs_update_exposure_limitsfunction ccs_pixel_orderfunction ccs_update_mbus_formatsfunction ccs_set_ctrlfunction ccs_init_controlsfunction ccs_init_late_controlsfunction ccs_free_controlsfunction ccs_get_mbus_formatsfunction ccs_update_blankingfunction ccs_pll_blanking_updatefunction ccs_read_nvm_pagefunction ccs_read_nvmfunction ccs_change_cci_addrfunction ccs_setup_flash_strobefunction ccs_write_msr_regsfunction ccs_update_phy_ctrlfunction ccs_power_onfunction ccs_power_offfunction ccs_pm_get_initfunction ccs_enable_streamsfunction ccs_disable_streamsfunction ccs_pre_streamonfunction ccs_post_streamofffunction ccs_enum_mbus_codefunction ccs_get_mbus_codefunction ccs_get_formatfunction ccs_propagatefunction ccs_set_format_sourcefunction ccs_set_formatfunction scaling_goodnessfunction ccs_set_compose_binnerfunction possiblefunction ccs_set_composefunction ccs_sel_supportedfunction ccs_set_crop
Annotated Snippet
module_init(ccs_module_init);
module_exit(ccs_module_cleanup);
MODULE_AUTHOR("Sakari Ailus <sakari.ailus@linux.intel.com>");
MODULE_DESCRIPTION("Generic MIPI CCS/SMIA/SMIA++ camera sensor driver");
MODULE_LICENSE("GPL v2");
MODULE_ALIAS("smiapp");
Annotation
- Immediate include surface: `linux/bits.h`, `linux/clk.h`, `linux/delay.h`, `linux/device.h`, `linux/firmware.h`, `linux/gpio/consumer.h`, `linux/module.h`, `linux/pm_runtime.h`.
- Detected declarations: `struct ccs_device`, `function ccs_assign_limit`, `function ccs_limit_ptr`, `function ccs_replace_limit`, `function ccs_get_limit`, `function ccs_read_all_limits`, `function ccs_mipi_csi2_data_type`, `function ccs_read_frame_fmt`, `function ccs_pll_configure`, `function ccs_pll_try`.
- Atlas domain: Driver Families / drivers/media.
- Implementation status: integration 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.