linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Robert Jarzmik <robert.jarzmik@free.fr>
To: Eric Miao <eric.y.miao@gmail.com>
Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>,
	Uli Luckas <u.luckas@road.de>,
	linux-arm-kernel@lists.arm.linux.org.uk,
	Marek Vasut <marek.vasut@gmail.com>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	"linux-input@vger.kernel.org" <linux-input@vger.kernel.org>
Subject: Re: [PATCH] input: add support for generic GPIO-based matrix keypad
Date: Sun, 31 May 2009 19:39:01 +0200	[thread overview]
Message-ID: <87bpp9qiiy.fsf@free.fr> (raw)
In-Reply-To: f17812d70905310729r501ed41fja622392c187c5cbb@mail.gmail.com

Eric Miao <eric.y.miao@gmail.com> writes:

Hi Eric, some minor cosmetic points ...

<snip>

> +static void activate_all_cols(struct matrix_keypad_platform_data
> *pdata, int on)
That function declaration spacing looks suspicious, looks like my mailer (or
yours) ate a bit out of it, and patch doesn't accept to apply it.

<snip>

+static void activate_col(struct matrix_keypad_platform_data *pdata,
+			 int col, int on)
+{
+	__activate_col(pdata, col, on);
+
+	if (on && pdata->col_scan_delay_us)
+		udelay(pdata->col_scan_delay_us);
+}
That function is called is the worst case 16 times in a row (if I understood
correctly matrix_keypad_scan()). If delay is 100us, that makes 1.6ms for a
keystroke with all kernel blocked (udelay).
I didn't follow the discussion before, so maybe that's the only way. Still,
that's too bad ...

<snip>

> +/*
> + * This gets the keys from keyboard and reports it to input subsystem
> + */
> +static void matrix_keypad_scan(struct work_struct *work)
> +{
> +	struct matrix_keypad *keypad =
> +	       	container_of(work, struct matrix_keypad, work.work);
> +	struct matrix_keypad_platform_data *pdata = keypad->pdata;
> +	uint32_t new_state[MATRIX_MAX_COLS];
> +	int row, col;
> +
> +	/* de-activate all columns for scanning */
> +	activate_all_cols(pdata, 0);
> +
> +	memset(new_state, 0, sizeof(new_state));
> +
> +	/* assert each column and read the row status out */
> +	for (col = 0; col < pdata->num_col_gpios; col++) {
> +
> +		activate_col(pdata, col, 1);
> +
> +		for (row = 0; row < pdata->num_row_gpios; row++)
> +			new_state[col] |= row_asserted(pdata, row) ?
> +						(1 << row) : 0;
> +		activate_col(pdata, col, 0);
> +	}
> +
> +	for (col = 0; col < pdata->num_col_gpios; col++) {
> +		uint32_t bits_changed;
> +		
Nitpicking: extra space on that line.

<snip>

Cheers.

--
Robert


  parent reply	other threads:[~2009-05-31 17:39 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-07  8:00 [PATCH] input: add support for generic GPIO-based matrix keypad Eric Miao
2009-05-07  8:41 ` Trilok Soni
2009-05-07  8:48   ` Eric Miao
2009-05-07  8:51     ` Trilok Soni
2009-05-08  1:29       ` Eric Miao
2009-05-08  4:54         ` Trilok Soni
2009-05-08  5:52         ` Arve Hjønnevåg
2009-05-25  3:36           ` Trilok Soni
2009-05-25  7:05             ` Eric Miao
2009-05-27 13:26 ` Uli Luckas
2009-05-31 14:12   ` Eric Miao
2009-05-31 14:20     ` Russell King - ARM Linux
2009-05-31 14:29       ` Eric Miao
2009-05-31 17:38         ` Dmitry Torokhov
2009-06-01  3:43           ` Eric Miao
2009-05-31 17:39         ` Robert Jarzmik [this message]
2009-06-01  4:02           ` Eric Miao
2009-06-02 14:55     ` Uli Luckas
2009-06-02 15:14       ` Uli Luckas
2009-06-03  6:24         ` Eric Miao
2009-06-10  4:10           ` Trilok Soni
2009-07-04  5:54             ` Marek Vasut
2009-07-06  6:02               ` Eric Miao
2009-07-06 10:58                 ` Marek Vasut
     [not found]           ` <f17812d70906070704s10f8eac6ybc353041e2db5a03@mail.gmail.com>
2009-06-12  4:03             ` Dmitry Torokhov
2009-06-12 13:01               ` Trilok Soni
2009-06-12 13:26                 ` Eric Miao
2009-06-19  6:54                   ` Trilok Soni
2009-06-29 16:26                   ` Dmitry Torokhov
2009-06-30  6:43                     ` Trilok Soni
2009-07-01 12:14                       ` Kim Kyuwon
2009-07-09  9:46                     ` Eric Miao
2009-07-09 10:01                       ` Trilok Soni
2009-07-17  7:51                       ` Paulius Zaleckas
2009-07-17  8:32                         ` Trilok Soni
2009-07-17  9:20                           ` Paulius Zaleckas
2009-07-20  7:12                             ` Trilok Soni
2009-07-20 10:37                               ` Eric Miao
2009-07-20 10:43                                 ` Trilok Soni
2009-07-20 11:43                                   ` Eric Miao
2009-07-21  8:00                                 ` Dmitry Torokhov
2009-07-21  8:26                                   ` Eric Miao
2009-07-21 15:58                                     ` Dmitry Torokhov
2009-07-27  8:54                                       ` Eric Miao
2009-06-03  6:06       ` Eric Miao
2009-06-03 18:06       ` Trilok Soni

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=87bpp9qiiy.fsf@free.fr \
    --to=robert.jarzmik@free.fr \
    --cc=dmitry.torokhov@gmail.com \
    --cc=eric.y.miao@gmail.com \
    --cc=linux-arm-kernel@lists.arm.linux.org.uk \
    --cc=linux-input@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=marek.vasut@gmail.com \
    --cc=u.luckas@road.de \
    /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).