Re: [PATCH 1/5] dt-bindings: display: ssd1307fb: Deprecate fbdev compatible strings

From: Javier Martinez Canillas
Date: Mon Apr 11 2022 - 10:48:38 EST


Hello Geert,

On 4/11/22 15:47, Geert Uytterhoeven wrote:
> Hi Javier,
>
> On Thu, Apr 7, 2022 at 10:03 PM Javier Martinez Canillas
> <javierm@xxxxxxxxxx> 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.
>>
>> 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>
>
>> --- 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
>
> Please drop the "-i2c" suffixes, too.
> We already have plenty of IIO sensors and audio codecs using the
> same compatible value for spi and i2c, cfr.
> 'git grep compatible -- "*-[si][p2][ic].c"'
>

Yes, I know but was worried about the potential issues that mentioned in a
previous email in this thread. But after the discussion we had over IRC, I
think that is safe to assume that the SPI subsystem won't change how the
modaliases are reported, so there won't be conflict between I2C and SPI.

And if that is ever changed, there's a plan to add the bus type to the data
reported by the modalias uevent so user-space could figure out what to load.

So I'll go ahead with Rob and yours suggestion, and just deprecate the old
ones and drop both the "fb" and "-i2c" part of the compatible strings, to
use the same compatible strings for both the I2C and SPI drivers.

After all, that's the correct way to describe the hardware and not encode
any Linux implementation details in the DT binding.

--
Best regards,

Javier Martinez Canillas
Linux Engineering
Red Hat