Re: [PATCH RFC 1/4] dt-bindings: input: touchscreen: Add Z2 controller bindings.
From: Rob Herring <robh@kernel.org>
Date: 2023-02-27 22:14:34
Also in:
asahi, linux-arm-kernel, linux-input, lkml
On Mon, Feb 27, 2023 at 09:06:28PM +0100, Sasha Finkelstein wrote:
On Mon, 27 Feb 2023 at 20:51, Rob Herring [off-list ref] wrote:quoted
quoted
+properties: + compatible: + const: apple,z2-touchscreenIs 'z2' anything other than a touchscreen? If not, '-touchscreen' is redundant. If so, then what else is there? You should be describing physical devices, not just a protocol for touchscreen.This is a class of touchscreen controllers that talk the z2 protocol over spi.
Yes, you already said that much. So nothing else for this piece of h/w? Then 'apple,z2' is sufficient. Well maybe. You are assuming all h/w in the world speaking 'z2' is the same (to software). Usually that's not a safe assumption, but maybe Apple is better at not changing the h/w... Normally, the 'protocol' to talk to a device is only part of it. There's other pieces like how to turn the device on and off which need h/w specific knowledge. If you need any of that, then you need specific compatibles. Adding properties for each variation doesn't end up well.
quoted
quoted
+ touchscreen-size-y = <640>; + apple,z2-device-name = "MacBookPro17,1 Touch Bar";Why do we need this string? If you want a human consumed label for some identification, we have a property for that purpose. It's called 'label'. But when there is only 1 instance, I don't really see the point.I want a libinput-consumed label to distinguish between devices using this protocol.
I know little about libinput, but how would it know about 'apple,z2-device-name'?
It is used both for 'normal' touchscreens, and, as is in this example a 'touchbar', which absolutely should not be treated as a normal touchscreen, and needs special handling in userspace.
Meaning there are both touchscreens and touchbars using this? That sounds like s/w needs this information. From a DT perspective, 'compatible' is how DT defines exactly what the h/w is and how to use it. That also doesn't sound like a unique issue. Doesn't the kernel provide a standard way to tell userspace what's a touchscreen vs. touchpad vs. ??? Rob