sim: bfin: fix GPIO logic bugs when processing events
authorMike Frysinger <vapier@gentoo.org>
Fri, 25 Mar 2011 00:13:23 +0000 (00:13 +0000)
committerMike Frysinger <vapier@gentoo.org>
Fri, 25 Mar 2011 00:13:23 +0000 (00:13 +0000)
commitb72cc8e145a9df3d9b5fe215f89e8dfc4430f84b
treeac54a4c30860210259b654ffc307312d15d1ae53
parenteaf863cd1ef55ef8c276e5dd7c277f22522a0436
sim: bfin: fix GPIO logic bugs when processing events

We need the DIR bit cleared, not set, in order for the pin to be treated
as an input.

When looking up the data value, we need to shift the "level" value over by
"my_port" rather than "bit" as the latter has already been shifted over.
We also should normalize the "level" coming in from the outside worlds to
the set of {0,1} since those are the only values that matter to GPIOs.

We need the BOTH bit set, not cleared, in order for the pin to trigger
on both edges.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
sim/bfin/ChangeLog
sim/bfin/dv-bfin_gpio.c