Skip to content

ThinkPad embedded controller and hdaps drivers (version 2)

Shem Multinymous lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest12 patches 12 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/12thinkpad_ec: New driver for ThinkPad embedded controller accessdrivers/firmware/Kconfig drivers/firmware/Makefile drivers/firmware/thinkpad_ec.c +1 more+516 -00 replies
2/12hdaps: Use thinkpad_ec instead of direct port accessdrivers/hwmon/Kconfig drivers/hwmon/hdaps.c+116 -1990 replies
3/12hdaps: Unify and cache hdaps readoutsdrivers/hwmon/hdaps.c+90 -830 replies
4/12hdaps: Correct readout and remove nonsensical attributesdrivers/hwmon/hdaps.c+35 -400 replies
5/12hdaps: Remember keyboard and mouse activitydrivers/hwmon/hdaps.c+23 -60 replies
6/12hdaps: Limit hardware query ratedrivers/hwmon/hdaps.c+13 -62 replies
7/12hdaps: delay calibration to first hardware querydrivers/hwmon/hdaps.c+11 -40 replies
8/12hdaps: Add explicit hardware configuration functionsdrivers/hwmon/hdaps.c+159 -460 replies
9/12hdaps: Add new sysfs attributesdrivers/hwmon/hdaps.c+107 -00 replies
10/12hdaps: Power off accelerometer on suspend and unloaddrivers/hwmon/hdaps.c+26 -00 replies
11/12hdaps: Stop polling timer when suspendeddrivers/hwmon/hdaps.c+11 -60 replies
12/12hdaps: Simplify whitelistdrivers/hwmon/hdaps.c+14 -520 replies

Reviews trailers per patch

None of the 12 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchRobert Love
SeriesA-b
1/12
2/12
3/12
4/12
5/12
6/12
7/12
8/12
9/12
10/12
11/12
12/12

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 00/12] ThinkPad embedded controller and hdaps drivers (version 2)

This resubmission addresses all the comments I've received on LKML, except where said otherwise in reply. Other changes are very minor.

This patch series does three related things:

- Introduces a new driver, thinkpad_ec, for the ThinkPad embedded controller (additional non-ACPI interface).
- Changes the existing hdaps driver to use thinkpad_ec instead of direct (and incorrect) port access.
- Several fixes and improvements to the hdaps driver.

Applies to git head.

Most of the patches in this series depend on previous ones. Any point in this series will compile and was briefly tested (this required introducing some code that gets overwritten by later patches). The *combination* of all these patches was extensively tested as part of the out-of-tree tp_smapi package [1], and verified to work on dozens of ThinkPad models (thousands of sf.net downloads and no unresolved bugs). Note that the tp_smapi package includes another driver, to be submitted later, which also depends the thinkpad_ec driver introduced here.

For some context and the necessity for a separate thinkpad_ec module, see LKML thread "tp_smapi conflict with IDE, hdaps" on Dec. 2005.

I would like to thank the many testers and contributors who helped in the development, and in particular Henrique de Moraes Holschuh, ThinkWiki.org users Whoopie and Spiney, and Pavel Machek.

[1] http://thinkwiki.org/wiki/tp_smapi

Summary:

 drivers/firmware/Kconfig       |    3 
 drivers/firmware/Makefile      |    1 
 drivers/firmware/thinkpad_ec.c |  465 ++++++++++++++++++
 drivers/hwmon/Kconfig          |    1 
 drivers/hwmon/hdaps.c          |  784 ++++++++++++++++++-------------
 include/linux/thinkpad_ec.h    |   47 +
 6 files changed, 990 insertions(+), 311 deletions(-)