[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YlB9TsbhoQblo1H8@robh.at.kernel.org>
Date: Fri, 8 Apr 2022 13:22:06 -0500
From: Rob Herring <robh@...nel.org>
To: Javier Martinez Canillas <javierm@...hat.com>
Cc: linux-kernel@...r.kernel.org, dri-devel@...ts.freedesktop.org,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Chen-Yu Tsai <wens@...nel.org>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
Mark Brown <broonie@...nel.org>,
Daniel Vetter <daniel@...ll.ch>,
David Airlie <airlied@...ux.ie>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Maxime Ripard <mripard@...nel.org>, devicetree@...r.kernel.org
Subject: Re: [PATCH 1/5] dt-bindings: display: ssd1307fb: Deprecate fbdev
compatible strings
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@...hat.com>
> ---
>
> .../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
Powered by blists - more mailing lists