I suppose one conclusion one might make is that we never should have used "goodix,gt7986u" as a compatible string in the first place and should have instead added a new compatible string for every actual instantiation of a touchscreen. So when Vendor1 made touchscreen 1234 based on GT7986U then we could have used the compatible "vendor1,touchscreen1234" and then when Vendor2 made touchscreen 5678 based on GT7986U we could have used the compatible "vendor2,touchscreen5678". Should we have done this / should we do it in the future? I don't know. If everyone using GT7986U is adhering to the same interface then it doesn't buy us a ton and adds lots more bindings. I think I ended up originally adding the Goodix GT7375P bindings because someone gave me a datasheet with all the power sequencing and timings that came from Goodix and said it was for the "Goodix GT7375P". Given the fact that Goodix provides such a datasheet and it includes power sequencing is a strong indicator that there truly is a standard and we can use that. In any case, if we _had_ used a different compatible for each actual touchscreen implementation then we wouldn't be having this discussion. Those touchscreens that shipped with a controller board that had SPI connections and SPI firmware would have had obviously different compatible strings than the touchscreens that shipped with a controller board designed for I2C. If we _do_ want to keep using a compatible like "goodix,gt7986u" then, IMO, it's beneficial to also have a SPI-variant compatible like "goodix,gt7986u-spi". This is not a second interface to one device but it's actually a distinct interface compared to the Goodix I2C interface. Note: this assumes there isn't some hidden benefit to having a combined "I2C/SPI" bindings file. I find having the combined file buys me nothing and just makes it more confusing / adds complexity. Is there some benefit I'm missing other than towing the line of "one chip, one compatible"? > It is important to note that the type of driver used by the final device > is related not only to the bus type but also to the final firmware. Even > when using the same I2C bus, different drivers may be needed, such as > hid-i2c or a customer-specific driver. Right. ...the firmware that's on the device matters and distinct firmware can make a distinct device, and IMO a GT7986U loaded with I2C firmware is a distinct device than a GT7986U loaded with SPI firmware. They are not the same and thus don't need the same compatible. -Doug