drivers/hwmon/ 源码目录与驱动索引

drivers/hwmon/ 源码目录与驱动索引

1. 构建

1
2
3
4
5
CONFIG_HWMON      -> hwmon.o
CONFIG_HWMON_VID -> hwmon-vid.o
CONFIG_PMBUS -> pmbus/
CONFIG_SENSORS_PECI -> peci/
CONFIG_SENSORS_OCC -> occ/

HWMON_DEBUG_CHIP 为本目录编译增加 DEBUG 日志。

2. 核心

文件 作用
hwmon.c class、现代 API、属性生成、thermal bridge
hwmon-vid.c 传统 CPU VID 换算
include/linux/hwmon.h sensor types、attributes、ops/API
include/trace/events/hwmon.h read/write tracepoints
Documentation/hwmon/ ABI、内核 API、每驱动说明

本树没有单独的 hwmon-sysfs.c;sysfs 自动属性生成直接实现在 hwmon.c。大量 legacy 驱动则在自身文件中用 SENSOR_DEVICE_ATTR* 定义属性。

3. 总线分类

类型 代表
I2C/SMBus lm75lm90tmp102ina2xxsht3x
SPI adt7310lm70max31722ltc2947-spi
Platform/MMIO pwm-fangpio-fanmr75203bt1-pvt
PCI/ACPI/x86 coretempk10tempacpi_power_meter
Firmware scmi-hwmonscpi-hwmon
USB/HID corsair-*aquacomputer_d5nextnzxt-*
IIO bridge iio_hwmon

4. 类型分类

功能 代表驱动
温度 lm75/lm90/tmp*/jc42
温湿度 aht10/sht*/hih6130
电压 ADC ads7828/pcf8591/mcp3021
电流/功率 ina2xx/ina238/ina3221/ltc2945
风扇/PWM pwm-fan/gpio-fan/emc2305/max31790
电源控制器 pmbus/
SoC PVT mr75203/bt1-pvt/as370
硬盘温度 drivetemp

5. PMBus

pmbus/pmbus_core.c 实现协议通用层;pmbus.c 是 generic PMBus driver;其余文件提供芯片 pages、功能位、寄存器和格式 quirks。

6. RK3588 相关性

本树 RK3588 DTS 明确出现大量 pwm-fan 节点。主 defconfig 没有显式写 SENSORS_PWM_FAN,仅 rk3588_edge.config 明确启用,因此必须检查产品最终配置。

SoC TSADC 使用 drivers/thermal/rockchip_thermal.cCONFIG_ROCKCHIP_THERMAL=y,不在本目录。

主配置中的 SENSORS_ISL29018SENSORS_TSL2563 是环境光 IIO/input 类配置,不是本目录 HWMON sensor。

7. 文档

本树 Documentation/hwmon/ 有 200 余篇驱动文档,通用接口重点:

  • sysfs-interface.rst
  • hwmon-kernel-api.rst
  • userspace-tools.rst
  • pwm-fan.rst
  • pmbus-core.rst

文章互动

阅读 --

留言

0 条留言

正在加载留言…