I ran smatch (http://repo.or.cz/w/smatch.git) on it and there are
some bugs worth fixing.
drivers/input/misc/imon.c +331 free_imon_context(7) error: dereferencing freed memory 'context'
Move the debug line earlier.
drivers/input/misc/imon.c +1812 imon_probe(216) error: dereferencing undefined: 'context->idev'
drivers/input/misc/imon.c +1876 imon_probe(280) error: dereferencing undefined: 'context->touch'
The allocation func can return NULL. They probably won't fail in real
life, but it will slightly annoy every person checking running smatch
over the entire kernel (me).
drivers/input/misc/imon.c +1979 imon_probe(383) error: double unlock 'mutex:&context->lock'
drivers/input/misc/imon.c +1983 imon_probe(387) error: double unlock 'mutex:&context->lock'
It sometimes unlocks both before and after the goto.