From: Gerhard Sittig <gsi@denx.de>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
linux-input@vger.kernel.org, devicetree-discuss@lists.ozlabs.org,
linux-arm-kernel@lists.infradead.org,
Chao Xie <xiechao.mail@gmail.com>
Cc: Arnd Bergmann <arnd@arndb.de>, Sekhar Nori <nsekhar@ti.com>,
Tony Lindgren <tony@atomide.com>,
Marek Vasut <marek.vasut@gmail.com>,
Eric Miao <eric.y.miao@gmail.com>,
Haojian Zhuang <haojian.zhuang@gmail.com>,
Ralf Baechle <ralf@linux-mips.org>,
Anatolij Gustschin <agust@denx.de>, Detlev Zundel <dzu@denx.de>,
Gerhard Sittig <gsi@denx.de>
Subject: [PATCH v1 00/12] input: keypad-matrix: doc update, hw separation, polling, binary columns
Date: Fri, 21 Jun 2013 20:09:46 +0200 [thread overview]
Message-ID: <1371838198-7327-1-git-send-email-gsi@denx.de> (raw)
this series addresses one style nit in the matrix-keymap helper (bool vs
error code for function calls), and brings the following changes to the
matrix-keypad driver
- documentation update (device tree bindings), comments update (driver's
program flow as well as data structures), diagnostics rephrased
- more finegrained hardware control (individual polarity for row and for
column pins, push-pull operation of column pins)
- clean separation of the physical hardware attachment and the logical
keyboard handling (tell GPIO pins and matrix lines apart)
- introduce support for polling vs interrupt driven change detection
(more reliable detection of multi key press events)
- optionally reduce timer management overhead by using a range instead
of a fixed value for a microseconds delay
- introduce support for keyboard layouts where fewer column gpio pins
control more matrix column lines (binary column address encoding)
- adapt a board's device tree to the new features
for unadjusted code and configuration the behaviour remains fully
backwards compatible, using any of the new features is completely
optional
I'm aware of my introducing many new options, and not removing any of
the flexibility to reduce complexity -- but I feel that there's nothing
that can get removed without breaking compatibility, while all of the
new options and features are desirable or just essential for the end
result of binary encoded columns with push/pull requirements for the
pins including reliable detection of multi key press events
even if it were not for the binary column addressing, most of the
changes are desirable and removing the binary encoding doesn't
significantly cut on the complexity
I'd happily trim flexibility and reduce complexity if it turns out that
the former support which I did not want to break isn't required any
longer (the open collector emulation might be one such candidate)
the series was build tested on PowerPC (mpc512x generic plus
matrix-keypad), ARM (omap2plus plus matrix-keypad) and MIPS (bcm47xx
plus matrix-keypad) and was run tested on PowerPC (mpc512x generic on an
ifm AC14xx board)
test feedback from ARM users (palm tungsten, spitz, corgi with platform
data, any recent ARM with matrix-keypad and device tree) is very welcome
and greatly appreciated
the series is checkpatch clean in regular mode, and spots one condition
in strict mode which I consider acceptable since memset() would be too
much for two u32 values and individual assignments appear clumsy to me
in this very case
CHECK: multiple assignments should be avoided
#114: FILE: drivers/input/keyboard/matrix_keypad.c:671:
+ us[0] = us[1] = 0;
total: 0 errors, 0 warnings, 1 checks, 95 lines checked
Gerhard Sittig (12):
input: matrix-keypad: update devicetree binding doc
input: matrix-keymap: func call coding style nit
input: matrix-keypad: rename variables and funcs
input: matrix-keypad: push/pull, separate polarity
input: matrix-keypad: update comments, diagnostics
input: keypad-matrix: refactor matrix scan logic
input: keypad-matrix: introduce polling support
input: keypad-matrix: tell GPIO pins from matrix lines
input: matrix-keypad: add binary column encoding
input: keypad_matrix: use usleep_range() for scan delay
input: keypad-matrix: AC14xx device tree update
input: matrix-keypad: add diagnostics in probe()
.../bindings/input/gpio-matrix-keypad.txt | 138 ++++++-
arch/arm/mach-davinci/board-tnetv107x-evm.c | 3 +-
arch/arm/mach-omap2/board-h4.c | 3 +-
arch/arm/mach-pxa/palmtc.c | 3 +-
arch/mips/jz4740/board-qi_lb60.c | 3 +-
arch/powerpc/boot/dts/ac14xx.dts | 13 +-
drivers/input/keyboard/matrix_keypad.c | 399 +++++++++++++++++---
drivers/input/matrix-keymap.c | 23 +-
include/linux/input/matrix_keypad.h | 44 ++-
9 files changed, 538 insertions(+), 91 deletions(-)
--
1.7.10.4
next reply other threads:[~2013-06-21 18:10 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-21 18:09 Gerhard Sittig [this message]
2013-06-21 18:09 ` [PATCH v1 01/12] input: matrix-keypad: update devicetree binding doc Gerhard Sittig
2013-06-21 21:31 ` Stephen Warren
2013-06-22 9:23 ` Gerhard Sittig
2013-06-24 22:00 ` Stephen Warren
2013-06-28 8:24 ` Gerhard Sittig
2013-06-28 14:50 ` Stephen Warren
2013-06-30 11:04 ` Gerhard Sittig
2013-06-21 18:09 ` [PATCH v1 02/12] input: matrix-keymap: func call coding style nit Gerhard Sittig
2013-06-22 2:18 ` Marek Vasut
2013-06-22 8:22 ` Gerhard Sittig
2013-06-22 13:23 ` Marek Vasut
2013-06-21 18:09 ` [PATCH v1 03/12] input: matrix-keypad: rename variables and funcs Gerhard Sittig
2013-06-21 18:09 ` [PATCH v1 04/12] input: matrix-keypad: push/pull, separate polarity Gerhard Sittig
2013-06-21 21:34 ` Stephen Warren
2013-06-22 9:36 ` Gerhard Sittig
2013-06-24 23:14 ` Stephen Warren
2013-06-28 8:33 ` Gerhard Sittig
2013-06-28 15:01 ` Stephen Warren
2013-06-30 11:43 ` Gerhard Sittig
2013-06-21 18:09 ` [PATCH v1 05/12] input: matrix-keypad: update comments, diagnostics Gerhard Sittig
2013-06-22 2:23 ` Marek Vasut
2013-06-21 18:09 ` [PATCH v1 06/12] input: keypad-matrix: refactor matrix scan logic Gerhard Sittig
2013-06-21 18:09 ` [PATCH v1 07/12] input: keypad-matrix: introduce polling support Gerhard Sittig
2013-06-21 21:38 ` Stephen Warren
2013-06-22 9:50 ` Gerhard Sittig
2013-06-24 23:18 ` Stephen Warren
2013-06-21 18:09 ` [PATCH v1 08/12] input: keypad-matrix: tell GPIO pins from matrix lines Gerhard Sittig
2013-06-21 21:41 ` Stephen Warren
2013-06-22 10:00 ` Gerhard Sittig
2013-06-24 23:26 ` Stephen Warren
2013-06-28 7:52 ` Gerhard Sittig
2013-06-28 14:35 ` Stephen Warren
2013-06-28 18:25 ` Dmitry Torokhov
2013-06-30 12:03 ` Gerhard Sittig
2013-06-21 18:09 ` [PATCH v1 09/12] input: matrix-keypad: add binary column encoding Gerhard Sittig
2013-06-21 21:58 ` Stephen Warren
2013-06-21 18:09 ` [PATCH v1 10/12] input: keypad_matrix: use usleep_range() for scan delay Gerhard Sittig
2013-06-21 22:00 ` Stephen Warren
2013-06-22 10:17 ` Gerhard Sittig
2013-06-24 23:27 ` Stephen Warren
2013-06-21 18:09 ` [PATCH v1 11/12] input: keypad-matrix: AC14xx device tree update Gerhard Sittig
2013-06-21 18:09 ` [PATCH v1 12/12] input: matrix-keypad: add diagnostics in probe() Gerhard Sittig
2013-06-22 2:28 ` Marek Vasut
2013-06-22 8:30 ` Gerhard Sittig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1371838198-7327-1-git-send-email-gsi@denx.de \
--to=gsi@denx.de \
--cc=agust@denx.de \
--cc=arnd@arndb.de \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=dmitry.torokhov@gmail.com \
--cc=dzu@denx.de \
--cc=eric.y.miao@gmail.com \
--cc=haojian.zhuang@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-input@vger.kernel.org \
--cc=marek.vasut@gmail.com \
--cc=nsekhar@ti.com \
--cc=ralf@linux-mips.org \
--cc=tony@atomide.com \
--cc=xiechao.mail@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).