RE: [PATCH 1/5] input: New MATRIX_KEY macro

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thursday, February 05, 2009 6:12 PM, David Brownell wrote:
> On Friday 30 January 2009, hartleys wrote:
>>> I'd support an overall cleanup patch that fixes all those things at once.
>>
>> How's this for a starting point?  I'm willing to create a cleanup 
>> patch for all the mach-omap1, mach-omap2, and mach-pxa users.
>> 
>> Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
>
> I think none of the twl4030 keypad users are in mainline, so far...
>
> My first reaction to this is that it's a bit incomplete.
> It replaces only the KEY() macro in the $SUBJECT patch:
> 
> - There are two more public ones (for board files):
>     * KEY_PERSISTENT flags row/column values to ignore
>     * PERSISTENT_KEY (sigh) generates a row/col entry
>       with such a marking (instead of a keycode)
> - Plus two driver-internal ones:
>     * ROWCOL_MASK to strip R/C from KEY()
>     * KEYCODE_MASK to stip the keycode from a KEY()
>
> If there is going to be something reusable across the whole input
> subsystem (for drivers that don't need fancy stuff), it should
> really address the whole problem...
>

Hello Dave,

I'm responding to your comments through a different thread since I posted a patch series to handle this change.

It appeared to me that only the KEY macro was common for the two keypad drivers that are currently in mainline.

It does appear the two mask values should be added to input.h for completeness.

#define MATRIX_ROWCOL_MASK	0xff000000
#define MATRIX_KEYCODE_MASK	0x00ffffff

I wasn't quite sure what the KEY_PERSISTENT flag was for in your twl4030_keypad driver.  To me it seemed driver dependent and not generic.

Regards,
Hartley



-----Original Message-----
From: linux-input-owner@xxxxxxxxxxxxxxx [mailto:linux-input-owner@xxxxxxxxxxxxxxx] On Behalf Of hartleys
Sent: Friday, January 30, 2009 11:46 AM
To: linux-input@xxxxxxxxxxxxxxx
Subject: [PATCH 1/5] input: New MATRIX_KEY macro

Introduce new macro to input.h for packing matrix keypad keycodes.

Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>

---

diff --git a/include/linux/input.h b/include/linux/input.h index 1249a0c..0879493 100644
--- a/include/linux/input.h
+++ b/include/linux/input.h
@@ -598,6 +598,14 @@ struct input_absinfo {
 #define KEY_CNT			(KEY_MAX+1)

 /*
+ * Macro to pack the row/col of a key on a matrix keypad and it's
associated
+ * KEY_* code into into an array.  4 bits are used for both the row and
column
+ * allowing for up to a 16x16 keypad.  The row (_r) and column (_c) are
+ * interchangable depending on a keypad drivers usage.
+ */
+#define MATRIX_KEY(_r, _c, _v)	(((_r) << 28) | ((_c) << 24) | (_v))
+
+/*
  * Relative axes
  */
 
--
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
--
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

[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux