| 中断 / 下半部 / threaded IRQ / tasklet / softirq / workqueue 选型 | references/subsys/interrupts.md | Documentation/core-api/genericirq.rst、core-api/irq/ |
| 睡眠/唤醒 / 等待队列 / completion / 抢占 / 调度策略·优先级·亲和性 / CFS·EEVDF·RT·DL | references/subsys/scheduler.md | Documentation/scheduler/ |
| 内存分配(kmalloc/kvmalloc/vmalloc/alloc_pages/kmem_cache)/ GFP 标志 / 访问用户内存 / 驱动 mmap·缺页 | references/subsys/memory.md | Documentation/mm/、core-api/memory-allocation.rst |
| 并发加锁(spinlock vs mutex 选型 / 进程+中断共享锁要 irqsave / 原子态禁睡眠 / RCU 读多写少) | references/subsys/locking.md | Documentation/locking/、include/linux/spinlock.h、mutex.h、rcupdate.h |
| 运行时电源 runtime PM(pm_runtime_enable / get·put 配平 / get_sync 失败也加引用 / autosuspend / dev_pm_ops 系统睡眠回调) | references/subsys/pm-runtime.md | Documentation/power/runtime_pm.rst、include/linux/pm_runtime.h、pm.h |
| DMA 映射 API(coherent vs streaming 选型 / dma_map 后必查 dma_mapping_error / DMA mask / 缓存同步 · 不是 dmaengine) | references/subsys/dma-mapping.md | Documentation/core-api/dma-api.rst、dma-api-howto.rst、include/linux/dma-mapping.h |
| VFS / file_operations 实现 / 导出数据(debugfs·procfs·sysfs·seq_file)/ 写文件系统·挂载 / page cache | references/subsys/filesystems.md | Documentation/filesystems/ |
| 设备树消费(compatible 绑定 / of_* 读属性 / 拿 MMIO·中断·时钟·GPIO / 遍历节点 / overlay) | references/subsys/device-tree.md | Documentation/devicetree/(.dts/binding 模板见 templates.md) |
| I2C 设备驱动(i2c_driver 绑定 / smbus·原始传输 / regmap-i2c / probe 签名版本) | references/subsys/i2c.md | Documentation/i2c/、include/linux/i2c.h |
| SPI 设备驱动(spi_driver 绑定 / spi_sync·多段传输 / regmap-spi / buffer DMA-able) | references/subsys/spi.md | Documentation/spi/、include/linux/spi/spi.h |
| GPIO(gpiod 描述符消费 / GPIO 当中断 / 写 gpiochip 控制器 / 弃旧整数 API) | references/subsys/gpio.md | Documentation/driver-api/gpio/、include/linux/gpio/consumer.h |
| USB host 驱动(usb_driver 绑定 / 控制·批量传输 / URB 异步 / 完成回调上下文) | references/subsys/usb.md | Documentation/driver-api/usb/、include/linux/usb.h |
| 网络(net_device 注册 / NAPI 收包 / ndo_start_xmit 发包 / sk_buff / 队列控制) | references/subsys/networking.md | Documentation/networking/、include/linux/netdevice.h |
| 音频 ASoC(codec/component · cpu DAI · machine 声卡 / DAI ops / trigger 上下文) | references/subsys/audio.md | Documentation/sound/soc/、include/sound/soc.h |
| 摄像 V4L2(v4l2_device/video_device 注册 / vb2 缓冲 / sensor subdev async / stop_streaming) | references/subsys/camera.md | Documentation/driver-api/media/、include/media/ |
| 时钟 CCF(clk_get/prepare/enable 消费 / prepare·enable 两阶段上下文 / 写 clk provider 暴露给 DT) | references/subsys/clk.md | Documentation/driver-api/clk.rst、include/linux/clk.h、clk-provider.h |
| 引脚 pinctrl(运行时切 state / PM sleep·idle 封装 / default 态由 core 自动应用) | references/subsys/pinctrl.md | Documentation/driver-api/pin-control.rst、include/linux/pinctrl/consumer.h |
| 供电 regulator(get·enable·调压消费 / enable·disable 引用计数配平 / 可选供电 vs dummy) | references/subsys/regulator.md | Documentation/power/regulator/consumer.rst、include/linux/regulator/consumer.h |
| 寄存器抽象 regmap(按总线 init / read·write·update_bits / cache + PM / volatile 寄存器) | references/subsys/regmap.md | Documentation/driver-api/regmap.rst、include/linux/regmap.h |
| 复位 reset(assert·deassert·reset 消费 / exclusive vs shared 引用计数 / DT resets) | references/subsys/reset.md | Documentation/driver-api/reset.rst、include/linux/reset.h |
| PWM(pwm_get / pwm_state 原子应用 / apply 接口改名·原子 vs 会睡 / DT pwms) | references/subsys/pwm.md | Documentation/driver-api/pwm.rst、include/linux/pwm.h |
| IIO(写 sensor/ADC 驱动 / iio_priv 私有数据 / channels·info / 触发缓冲采集) | references/subsys/iio.md | Documentation/driver-api/iio/、include/linux/iio/iio.h |
| 温控 thermal(温度传感器 zone / get_temp 毫摄氏度 / 冷却设备 / OF 注册改名 / DT thermal-zones) | references/subsys/thermal.md | Documentation/driver-api/thermal/、include/linux/thermal.h |
| 看门狗 watchdog(watchdog_ops 启停喂狗 / nowayout 语义 / max_hw_heartbeat 代喂 / stop_on_reboot) | references/subsys/watchdog.md | Documentation/watchdog/、include/linux/watchdog.h |
| RTC(rtc_class_ops 读写时间 / rtc_time 遵循 struct tm·tm_year 自 1900 / allocate+register) | references/subsys/rtc.md | Documentation/admin-guide/rtc、include/linux/rtc.h |
| LED(led_classdev 注册 / brightness_set 原子上下文 vs blocking / DT init_data) | references/subsys/led.md | Documentation/leds/、include/linux/leds.h |
| 输入 input(input_dev 注册 / 声明能力 + 上报 + input_sync 帧同步 / 绝对轴范围) | references/subsys/input.md | Documentation/input/、include/linux/input.h |
| 电源 power-supply(power_supply_desc 注册 / 属性固定微单位 / power_supply_changed 通知 / propval) | references/subsys/power-supply.md | Documentation/power/power_supply_class.rst、include/linux/power_supply.h |
| CPU 调频 cpufreq(写 cpufreq_driver + 频率表 / .target_index 索引切频 / 异步改频率要 transition_begin·end / OPP) | references/subsys/cpufreq.md | Documentation/admin-guide/pm/cpufreq.rst、include/linux/cpufreq.h |
| CPU 空闲 cpuidle(cpuidle_driver + states / .enter 原子上下文返回实际态 / 停 timer 标 TIMER_STOP / 延迟·驻留单位 µs) | references/subsys/cpuidle.md | Documentation/driver-api/pm/cpuidle.rst、include/linux/cpuidle.h |
| 设备调频 devfreq(非-CPU 设备 GPU/总线 / devfreq_dev_profile + target / .target 取实际 OPP ceil / get_dev_status 利用率) | references/subsys/devfreq.md | Documentation/driver-api/devfreq.rst、include/linux/devfreq.h、pm_opp.h |
| DMA engine(slave DMA 消费 / prep·submit·issue_pending 序列 / 通道生命周期 / DT dmas) | references/subsys/dmaengine.md | Documentation/driver-api/dmaengine/、include/linux/dmaengine.h |
| NVMEM(eeprom/efuse/otp 消费 cell·缓冲要 kfree / 写 provider nvmem_config / DT cells) | references/subsys/nvmem.md | Documentation/driver-api/nvmem.rst、include/linux/nvmem-consumer.h |
| MMC/SD host(mmc_alloc_host·add / mmc_host_ops / .request 完成必 mmc_request_done) | references/subsys/mmc.md | Documentation/mmc/、include/linux/mmc/host.h |
| MTD flash(NAND/NOR / 写前必擦 + erasesize 对齐 / mtd_device_parse_register 分区 / nand_scan) | references/subsys/mtd.md | Documentation/driver-api/mtd/、include/linux/mtd/mtd.h |
| 通用 PHY(USB/PCIe/MIPI phy 消费 init→power_on / 写 provider phy_ops / 别和网络 MDIO PHY 混) | references/subsys/phy.md | Documentation/driver-api/phy/、include/linux/phy/phy.h |
| 硬件监控 hwmon(register_with_info / sysfs 固定单位 温度毫摄氏度·电压 mV / chip_info·ops·channel) | references/subsys/hwmon.md | Documentation/hwmon/、include/linux/hwmon.h |
| 写时钟控制器 clk-provider(clk_hw/clk_ops · enable 原子 vs prepare 可睡 · 暴露给 DT · 固定/门控构造器) | references/subsys/clk-provider.md | Documentation/driver-api/clk.rst、include/linux/clk-provider.h(消费见 clk.md) |
| 写 pin 控制器 pinctrl-driver(pinctrl_desc 三组 ops · dt_node_to_map · set_mux · pin_config_set) | references/subsys/pinctrl-driver.md | Documentation/driver-api/pin-control.rst、include/linux/pinctrl/(消费见 pinctrl.md) |
| Mailbox/IPC(client 收发 mbox_send_message · 写控制器 mbox_chan_ops · TX 完成必上报 txdone) | references/subsys/mailbox.md | Documentation/driver-api/mailbox.rst、include/linux/mailbox_{client,controller}.h |
| 写 PMIC/稳压器 regulator-driver(regulator_desc · *_regmap helper ops · list_voltage 映射) | references/subsys/regulator-driver.md | include/linux/regulator/driver.h(消费见 regulator.md) |
| 写 DMA 控制器 dmaengine-provider(dma_device · dma_cap_set · virt-dma vchan · 完成 complete cookie) | references/subsys/dmaengine-provider.md | Documentation/driver-api/dmaengine/provider.rst、include/linux/dmaengine.h(消费见 dmaengine.md) |
| IOMMU 驱动(iommu_ops · map_pages/unmap_pages · unmap 后必刷 IOTLB · domain 类型) | references/subsys/iommu.md | Documentation/driver-api/iommu、include/linux/iommu.h |