Thread (32 messages) 32 messages, 6 authors, 2014-03-28

Re: [PATCHv4 2/5] Input: edt-ft5x06: Add DT support

From: Mark Rutland <mark.rutland@arm.com>
Date: 2014-03-20 13:22:01
Also in: linux-devicetree, lkml

On Thu, Mar 20, 2014 at 11:40:55AM +0000, Lothar Waßmann wrote:
Hi,

Mark Rutland wrote:
quoted
On Wed, Mar 19, 2014 at 01:09:20PM +0000, Lothar Waßmann wrote:
quoted
Signed-off-by: Lothar Waßmann <redacted>
---
 .../bindings/input/touchscreen/edt-ft5x06.txt      |   41 ++++++
 drivers/input/touchscreen/edt-ft5x06.c             |  144 +++++++++++++++-----
 2 files changed, 154 insertions(+), 31 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.txt
diff --git a/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.txt b/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.txt
new file mode 100644
index 0000000..e5adc76
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.txt
@@ -0,0 +1,41 @@
+FocalTech EDT-FT5x06 Polytouch driver
+=====================================
+
+Required properties:
+ - compatible:  "edt,edt-ft5x06"
Is the 'x' part of a particular product name, or is this a class of
devices?
The FT5x06 datasheet lists 3 variants for different panel sizes.
I'll add distinct compatible strings for those chips, though their SW
interface is (currently) identical:
|Required properties:
| - compatible:  "edt,edt-ft5206", "edt,edt-ft5x06"
|           or:  "edt,edt-ft5306", "edt,edt-ft5x06"
|           or:  "edt,edt-ft5406", "edt,edt-ft5x06"
Drop the "edt,edt-ft5x06" string. If they really appear to be identical
from a programmer's perspective, choose a particular variant to be used
as the fallback.

There could be a future variant that would appear to match the x string
yet was completely incompatible with the expected programming interface.
quoted
quoted
+ - reg:         I2C slave address of the chip (0x38)
+ - interrupt-parent: a phandle pointing to the interrupt controller
+                     serving the interrupt for this chip
+ - interrupts:       interrupt specification for this chip
How many? What are they for?
I'll change it to: 
| - interrupts:       interrupt specification for the touchdetect
|                     interrupt
That sounds fine to me.
quoted
quoted
+ - report_rate: allows setting the report rate in the range from 3 to
+                14.
However, why can the kernel not decide the report rate? This doesn't
sound like something that needs to vary per-board.

Also, s/_/-/ in property names, please.
OK, I'll drop the property, which also simplyfies the code a bit.
Sounds good to me.
quoted
quoted
+#define EDT_GET_PROP(name, reg) {					\
+	const u32 *prop = of_get_property(np, #name, NULL);		\
+	if (prop)							\
+		edt_ft5x06_register_write(tsdata, reg, be32_to_cpu(*prop)); \
+}
Use of_property_read_u32, it'll handle endianness conversion for you.

Use of of_get_property is almost always wrong.
Sure.
Cheers,
Mark.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help