On Fri, Dec 9, 2016 at 8:36 AM, Jiri Kosina <jikos@xxxxxxxxxx> wrote: > On Thu, 8 Dec 2016, Rob Herring wrote: > >> > And if tomorrow there is Elan device that is drop-in compatible (same >> > connector, etc) with Wacom i2c-hid, will you ask for Elan-specific >> > binding? Atmel? Weida? They all need to be powered up ultimately. >> >> Yes, I will. > > What advantage does that bring? > >> That in no way means the OS driver has to know about each and every one. >> If they can all claim compatibility with Wacom (including power >> control), then they can have a Wacom compatible string too. Or you can >> just never tell me that there's a different manufacturer and I won't >> care as long you don't need different control. But soon as a device >> needs another power rail, GPIO or different timing, then you'd better >> have a new compatible string. > > Again, I simply don't understand what advantage does the aproach you are > trying to use bring. This is simply how DT works. HID-over-I2C devices are no different than any other I2C device or any other component. You are not special. > HID over I2C is a generic protocol. DT describes h/w, not protocols. > Sure, we need to have quirks for > device-specific bugs, and in such cases enumerate particular devices. But > we don't need DT for that at all. When it is related to powering on the device you may need to know the specific device in DT. Compatibles are like VID/PID for devices, a unique identifier for the specific device. Having that does not to prevent generic/common drivers. The same rules apply. You wouldn't want different devices having the same VID/PID (surely that has never happened) or only change a VID/PID when you find a bug. The same rules apply for compatible strings. You should be able to apply quirks without changing/adding compatible strings (or more generally, without changing the dtb). Just like you wouldn't change a VID/PID for a device only when you find a bug, you can't add/change a DT compatible. BTW, As you do have a VID/PID, you could define a compatible string syntax using VID/PID like is done for PCI and USB. Rob -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html