设备树中的 pinctrl default 与 sleep 状态为什么会影响功能和功耗?
default 状态通常配置设备工作时的复用和电气属性,sleep 状态可在挂起时切成低泄漏或安全电平。若复用、上下拉、驱动强度或状态切换错误,会表现为 probe 正常但无波形、漏电或唤醒失败。
Question Bank
按知识、方向与难度筛选;每道题都有分层回答和工程追问。
default 状态通常配置设备工作时的复用和电气属性,sleep 状态可在挂起时切成低泄漏或安全电平。若复用、上下拉、驱动强度或状态切换错误,会表现为 probe 正常但无波形、漏电或唤醒失败。
流式 Socket API 返回本次接受到内核发送缓冲的字节数,不保证等于请求长度,也不代表对端应用已经处理。信号、超时、非阻塞 EAGAIN 和缓冲压力都要求维护偏移并重试。
用户地址可能无效、跨页、并发改变或触发缺页,内核必须用 uaccess API。copy_from_user/to_user 返回未复制的字节数而不是负 errno,非零通常转换为 -EFAULT;复制后仍要验证长度、枚举和溢出。
sysfs 面向稳定的设备对象属性,通常一文件一个清晰值并形成用户 ABI;debugfs 面向调试,接口不承诺稳定且可被关闭;procfs 主要表达进程和内核系统信息,不应作为任意驱动私有接口的默认选择。
消费者设备已被枚举但它依赖的供应者驱动尚未就绪时,可返回 -EPROBE_DEFER,内核稍后在依赖条件变化时重试。驱动必须让每次失败路径可重复、无泄漏,并区分真正配置错误与暂时未就绪。
hrtimer 在原子上下文快速记录时间、更新轻量状态或排队后续工作,不能睡眠;Workqueue 在进程上下文执行可阻塞或耗时处理。周期 hrtimer 应依据原计划到期点 forward,避免处理耗时造成累积漂移。
先用复位原因、Fault 快照、供电和关键 IO 波形区分电源跌落、复位脚耦合、时钟失锁、总线毛刺和软件异常。硬件检查回流、屏蔽、滤波、TVS 与布局,软件增加输入校验、超时恢复和持久化原子性。