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

From: Shem Multinymous
Date: Thu Aug 10 2006 - 19:24:57 EST

On 8/10/06, Andrew Morton <akpm@xxxxxxxx> wrote:
This situation is still a concern. From where did this additional register
information come?

Was it reverse-engineered? If so, by whom and how can we satisfy ourselves
of this?

Was it from published documents?

Here's a more detailed explanation:

All the low level LPC register access is publicly documented in the
manual of the embedded controller. See [1] and in particular [2]. The
submitted thinkpad_ec code just follows these specs (very defensively
with and a lot of extra status checks, because some EC hangs were
reported in older versions). The only remaining information is about
the accelerometer-specific commands implemented by the firmware; the
public APS spec [3] and the mainline code based on this already
contain most of the this information, and a few corrections and
extentions were gleaned from the reverse-engineered the firmware code
[4]. If case you're wondering about the "opaque" function,
hdaps_check_ec(), then note that it's just code from the original
hdaps driver (following [3]) that's translated to use thinkpad_ec
instead of direct IO port access.

Was it improperly obtained from NDA'ed documentation?

Absolutely not. I've never signed any NDA remotely related to this.
(and why I do so when the above sources already contain all the needed

BTW, I can't help wondering: do you have a similarly detailed account
for an appreciable fraction of the driver code in mainline?

So hm. We're setting precedent here and we need Linus around to resolve
this. Perhaps we can ask "Shem" to reveal his true identity to Linus (and
maybe me) privately and then we proceed on that basis.

Sure, we can do this. Actually I've alredy e-mailed Linus to this
effect several days ago, before realizing he's off-line.

"each of the Signed-off-by:ers should know the identity of the others".

How following the DCO's chain-of-trust model?

--- a/Documentation/SubmittingPatches
+++ b/Documentation/SubmittingPatches
@@ -296,7 +296,7 @@ can certify the below:

(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
- it.
+ it, and the legal identity of that person is known to me.

(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all


[1] and in particular
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at