On Thu, Apr 07, 2022 at 10:02:00PM +0200, Javier Martinez Canillas wrote: > The current compatible strings for SSD130x I2C controllers contain an -fb > suffix, this seems to indicate that are for a fbdev driver. But the DT is > supposed to describe the hardware and not Linux implementation details. True, but compatible is just an identifier. There's no reason to deprecate unless the binding as a whole needs to be redone. I imagine you also want 2 compatibles for 2 drivers. That's saying you should change your firmware to switch drivers. The fact that we have 2 drivers for the same h/w is a kernel problem. Don't bring DT into it. > Let's deprecate those compatible strings and add a new enum that contains > compatible strings that don't have a -fb suffix. These will be matched by > the ssd130x-i2c DRM driver. > > Signed-off-by: Javier Martinez Canillas <javierm@xxxxxxxxxx> > --- > > .../bindings/display/solomon,ssd1307fb.yaml | 36 ++++++++++++------- > 1 file changed, 24 insertions(+), 12 deletions(-) > > diff --git a/Documentation/devicetree/bindings/display/solomon,ssd1307fb.yaml b/Documentation/devicetree/bindings/display/solomon,ssd1307fb.yaml > index ade61d502edd..46207f2c12b8 100644 > --- a/Documentation/devicetree/bindings/display/solomon,ssd1307fb.yaml > +++ b/Documentation/devicetree/bindings/display/solomon,ssd1307fb.yaml > @@ -12,12 +12,24 @@ maintainers: > > properties: > compatible: > - enum: > - - sinowealth,sh1106-i2c > - - solomon,ssd1305fb-i2c > - - solomon,ssd1306fb-i2c > - - solomon,ssd1307fb-i2c > - - solomon,ssd1309fb-i2c > + oneOf: > + # Deprecated compatible strings > + - items: > + - enum: > + - solomon,ssd1305fb-i2c > + - solomon,ssd1306fb-i2c > + - solomon,ssd1307fb-i2c > + - solomon,ssd1309fb-i2c > + deprecated: true > + > + # SSD130x I2C controllers > + - items: > + - enum: > + - sinowealth,sh1106-i2c > + - solomon,ssd1305-i2c > + - solomon,ssd1306-i2c > + - solomon,ssd1307-i2c > + - solomon,ssd1309-i2c There's also no reason to put the bus interface into the compatible as the same compatible will work on different buses. But since you want to add SPI, just using the 'i2c' one will confuse people. For that reason you could add 'solomon,ssd1305', etc. for both SPI support and I2C DRM. (You should also support the 'fb-i2c' variant in DRM IMO, but doubtful that I'll review that.) Rob