Linux Kernel 中的 Regmap

简介

Regmap 机制是在 Linux 3.1 加入进来的特性。主要目的是减少慢速 I/O 驱动上的重复逻辑,提供一种通用的接口来操作底层硬件上的寄存器。其实这就是内核做的一次重构。Regmap 除了能做到统一的 I/O 接口,还可以在驱动和硬件 IC 之间做一层缓存,从而能减少底层 I/O 的操作次数。

使用对比

在了解 Regmap 的实现细节前,我们先来对比一下,传统操作寄存器的方式,与 Regmap 之间的差异。

阅读全文

解析 Android 5.1 Sensor HAL

预热

前几天研究了 Android 5.1 相对于 Android 4.4,Sensor HAL 做了什么改动。然后就有了这篇文章。

首先,怎么知道 Android 5.1 对 Sensor HAL 改了什么东西呢?其实只要运行了一下如下命令:

1
2
diff -u /path/to/android_5.1/hardware/libhardware/include/hardware/sensors.h \
/path/to/android_4.4/hardware/libhardware/include/hardware/sensors.h

估计都懂了。

阅读全文