On Sun, 2011-12-04 at 21:12 +0000, Hennerich, Michael wrote: > Christoph Fritz wrote on 2011-12-03: > > Hi Michael, > > > > I had a look at the adp5588-keys driver and its datasheet. > > There are some "slips of the pen" in it (adp5588 Rev.b): > > Hi Christoph, > > Good catch - however typos in datasheets shouldn't be discussed here, unless it > influences the vital state of this driver. > > > - Page 8, Table 12, "E4 pressed" refers to binary 1000 instead of 100 > > Not only this obvious one - all others are wrong as well... > > > - Page 17, Table 22, Register Descriptions are mostly wrong > > What's wrong with Table 22? The column "Register Description" says "Key Event Register B [..]" for register names KEY_EVENTD to KEY_EVENTJ. But for row KEY_EVENTA to KEY_EVENTC it seems to be correct. > > > > Another thing I'm curious about is in adp5588_report_events(): > > > > int key = adp5588_read(kpad->client, Key_EVENTA + i); int key_val = key > > & KEY_EV_MASK; [...] input_report_key(kpad->input, kpad->keycode[key_val > > - 1], key & KEY_EV_PRESSED); > > > > Why is there a -1 for key_val? > > Key_val == 0, is not a valid event code! > The part emits 1..80 for keys and 97..114 for GPI events. ah, so mark ² below Table 22 is correct :) > So bottom line - the driver is correct but Table 12 is completely wrong. Thanks, -- Christoph -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html