All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 11/11] ARM: versatile: move CLCD configuration to device tree
Date: Wed, 24 Feb 2016 11:47:36 +0000	[thread overview]
Message-ID: <56CD9858.40104@ti.com> (raw)
In-Reply-To: <20160224113549.GN19428@n2100.arm.linux.org.uk>

[-- Attachment #1: Type: text/plain, Size: 2310 bytes --]

On 24/02/16 13:35, Russell King - ARM Linux wrote:

> If the connector is a flexi-strip or LVDS connector designed to be
> connected directly to a panel, it is not designed as a user connector,
> and the display can be regarded as part of the board: the connector
> probably isn't rated for a large number of mating cycles.
> 
> If the connector is a board-edge external-unit connector, then the
> panel is not part of the board.

Ok, I see. I presumed the display-board was attached directly to the
mainboard. Of course, we could still argue about the difference, with
the exact same pins used with an external connector and with an on-board
connector, but lets not go there.

I agree in this case the panels are external devices =).

However, I would still be interested in opinions how to implement the
exact same case, but for boards where the panels were considered
on-board panels.

> The displays are not built for "this single board" but for a family of
> boards: not only Versatile PB/AB, but also the Realview family of boards
> too.

Alright.

So, if this is to be done correctly, we need to disconnect the display
board code from the CLCD code, as they really have nothing to do with
each other.

Perhaps a panel driver which covers the display boards used here, which
does the probing and contains the video timings for the panels in question?

One could then use that panel driver with other display controllers too.
Although the probing part is perhaps difficult to make generic, but that
board specific code should still be part of the panel-board driver, not
CLCD driver.

>> But I cannot accept that as a general solution for all similar cases
>> going forward, especially when moving to DRM world, that's just bad SW
>> design.
> 
> I think that's a matter of personal opinion, perspective and situation.
> What is good design today is not necessary good design yesterday or
> tomorrow.  I thought we already ascertained that earlier in this
> discussion. :)

Well, I was mostly referring to combining separate devices into single
driver. CLCD and the external displays, in this case. Then again,
"complexity" is part of the SW design, and splitting the devices drivers
into independent pieces often increases complexity, so...

 Tomi


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: tomi.valkeinen@ti.com (Tomi Valkeinen)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 11/11] ARM: versatile: move CLCD configuration to device tree
Date: Wed, 24 Feb 2016 13:47:36 +0200	[thread overview]
Message-ID: <56CD9858.40104@ti.com> (raw)
In-Reply-To: <20160224113549.GN19428@n2100.arm.linux.org.uk>

On 24/02/16 13:35, Russell King - ARM Linux wrote:

> If the connector is a flexi-strip or LVDS connector designed to be
> connected directly to a panel, it is not designed as a user connector,
> and the display can be regarded as part of the board: the connector
> probably isn't rated for a large number of mating cycles.
> 
> If the connector is a board-edge external-unit connector, then the
> panel is not part of the board.

Ok, I see. I presumed the display-board was attached directly to the
mainboard. Of course, we could still argue about the difference, with
the exact same pins used with an external connector and with an on-board
connector, but lets not go there.

I agree in this case the panels are external devices =).

However, I would still be interested in opinions how to implement the
exact same case, but for boards where the panels were considered
on-board panels.

> The displays are not built for "this single board" but for a family of
> boards: not only Versatile PB/AB, but also the Realview family of boards
> too.

Alright.

So, if this is to be done correctly, we need to disconnect the display
board code from the CLCD code, as they really have nothing to do with
each other.

Perhaps a panel driver which covers the display boards used here, which
does the probing and contains the video timings for the panels in question?

One could then use that panel driver with other display controllers too.
Although the probing part is perhaps difficult to make generic, but that
board specific code should still be part of the panel-board driver, not
CLCD driver.

>> But I cannot accept that as a general solution for all similar cases
>> going forward, especially when moving to DRM world, that's just bad SW
>> design.
> 
> I think that's a matter of personal opinion, perspective and situation.
> What is good design today is not necessary good design yesterday or
> tomorrow.  I thought we already ascertained that earlier in this
> discussion. :)

Well, I was mostly referring to combining separate devices into single
driver. CLCD and the external displays, in this case. Then again,
"complexity" is part of the SW design, and splitting the devices drivers
into independent pieces often increases complexity, so...

 Tomi

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160224/2f80fff6/attachment-0001.sig>

  reply	other threads:[~2016-02-24 11:47 UTC|newest]

Thread overview: 145+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-04 14:04 [PATCH 00/11] CLCD Nomadik+Versatile support Linus Walleij
2016-02-04 14:04 ` Linus Walleij
2016-02-04 14:04 ` [PATCH 01/11] video: ARM CLCD: backlight support for OF Linus Walleij
2016-02-04 14:04   ` Linus Walleij
2016-02-04 14:04 ` [PATCH 02/11] video: ARM CLCD: support DT signal inversion flags Linus Walleij
2016-02-04 14:04   ` Linus Walleij
2016-02-17 18:10   ` [02/11] " Ray Jui
2016-02-17 18:10     ` Ray Jui
2016-02-19  8:46     ` Linus Walleij
2016-02-19  8:46       ` Linus Walleij
2016-02-20  1:23       ` Ray Jui
2016-02-20  1:23         ` Ray Jui
2016-02-20 11:46         ` Linus Walleij
2016-02-20 11:46           ` Linus Walleij
2016-02-04 14:04 ` [PATCH 03/11] video: ARM CLCD: support pads connected in reverse order Linus Walleij
2016-02-04 14:04   ` Linus Walleij
2016-02-04 14:04 ` [PATCH 04/11] video: ARM CLCD: support Nomadik variant Linus Walleij
2016-02-04 14:04   ` Linus Walleij
2016-02-04 14:04 ` [PATCH 05/11] video: ARM CLCD: add special board and panel hooks for Nomadik Linus Walleij
2016-02-04 14:04   ` Linus Walleij
2016-02-04 14:04 ` [PATCH 06/11] Documentation/DT: add blurb for IB2 syscon to Versatile Linus Walleij
2016-02-04 14:04   ` Linus Walleij
2016-02-04 14:04 ` [PATCH 07/11] Documentation/DT: add Versatile display bindings Linus Walleij
2016-02-04 14:04   ` Linus Walleij
2016-02-17  9:11   ` Tomi Valkeinen
2016-02-17  9:11     ` Tomi Valkeinen
2016-02-18 20:48     ` Linus Walleij
2016-02-18 20:48       ` Linus Walleij
2016-02-04 14:04 ` [PATCH 08/11] video: ARM CLCD: add special panel hook for Versatiles Linus Walleij
2016-02-04 14:04   ` Linus Walleij
2016-02-04 14:04 ` [PATCH 09/11] ARM: PB11MPCore: define a standard VGA panel Linus Walleij
2016-02-04 14:04   ` Linus Walleij
2016-02-04 14:04 ` [PATCH 10/11] ARM: PB1176: " Linus Walleij
2016-02-04 14:04   ` Linus Walleij
2016-02-04 14:04 ` [PATCH 11/11] ARM: versatile: move CLCD configuration to device tree Linus Walleij
2016-02-04 14:04   ` Linus Walleij
2016-02-17  9:09   ` Tomi Valkeinen
2016-02-17  9:09     ` Tomi Valkeinen
2016-02-17  9:41     ` Russell King - ARM Linux
2016-02-17  9:41       ` Russell King - ARM Linux
2016-02-17 16:17     ` Linus Walleij
2016-02-17 16:17       ` Linus Walleij
2016-02-17 21:32       ` Russell King - ARM Linux
2016-02-17 21:32         ` Russell King - ARM Linux
2016-02-18 11:52         ` Tomi Valkeinen
2016-02-18 11:52           ` Tomi Valkeinen
2016-02-18 13:12           ` Russell King - ARM Linux
2016-02-18 13:12             ` Russell King - ARM Linux
2016-02-18 13:37             ` Tomi Valkeinen
2016-02-18 13:37               ` Tomi Valkeinen
2016-02-18 20:31               ` Linus Walleij
2016-02-18 20:31                 ` Linus Walleij
     [not found]           ` <56C5B080.9090007-l0cyMroinI0@public.gmane.org>
2016-02-21 22:39             ` Linus Walleij
2016-02-21 22:39               ` Linus Walleij
2016-02-21 22:39               ` Linus Walleij
     [not found]               ` <CACRpkdaXFUCR5=5mS28_4Dx_LfzqV13zwT=vVeJwuOzm_rGRBQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-02-22 15:41                 ` Tomi Valkeinen
2016-02-22 15:41                   ` Tomi Valkeinen
2016-02-22 15:41                   ` Tomi Valkeinen
     [not found]                   ` <56CB2C31.5040703-l0cyMroinI0@public.gmane.org>
2016-02-22 15:54                     ` Linus Walleij
2016-02-22 15:54                       ` Linus Walleij
2016-02-22 15:54                       ` Linus Walleij
2016-02-23  9:08   ` Linus Walleij
2016-02-23  9:08     ` Linus Walleij
2016-02-23  9:34     ` Arnd Bergmann
2016-02-23  9:34       ` Arnd Bergmann
2016-02-23 10:10       ` Linus Walleij
2016-02-23 10:10         ` Linus Walleij
2016-02-23 11:22         ` Arnd Bergmann
2016-02-23 11:22           ` Arnd Bergmann
2016-02-23 13:00           ` Tomi Valkeinen
2016-02-23 13:00             ` Tomi Valkeinen
2016-02-23 13:16             ` Linus Walleij
2016-02-23 13:16               ` Linus Walleij
2016-02-23 13:38               ` Tomi Valkeinen
2016-02-23 13:38                 ` Tomi Valkeinen
2016-02-24 10:53                 ` Russell King - ARM Linux
2016-02-24 10:53                   ` Russell King - ARM Linux
2016-02-24 11:35                   ` Tomi Valkeinen
2016-02-24 11:35                     ` Tomi Valkeinen
2016-02-25 14:04                 ` Linus Walleij
2016-02-25 14:04                   ` Linus Walleij
2016-02-25 16:08                   ` Arnd Bergmann
2016-02-25 16:08                     ` Arnd Bergmann
2016-02-25 16:22                   ` Russell King - ARM Linux
2016-02-25 16:22                     ` Russell King - ARM Linux
2016-02-25 16:45                   ` Tomi Valkeinen
2016-02-25 16:45                     ` Tomi Valkeinen
2016-02-25 16:57                     ` Russell King - ARM Linux
2016-02-25 16:57                       ` Russell King - ARM Linux
2016-02-25 19:30                     ` Linus Walleij
2016-02-25 19:30                       ` Linus Walleij
2016-02-26 10:47                       ` Tomi Valkeinen
2016-02-26 10:47                         ` Tomi Valkeinen
2016-03-05 16:57                         ` Linus Walleij
2016-03-05 16:57                           ` Linus Walleij
2016-03-07  7:36                           ` Tomi Valkeinen
2016-03-07  7:36                             ` Tomi Valkeinen
2016-02-25 19:32                     ` Linus Walleij
2016-02-25 19:32                       ` Linus Walleij
2016-02-23  9:58     ` Tomi Valkeinen
2016-02-23  9:58       ` Tomi Valkeinen
2016-02-23 10:32       ` Adam Ford
2016-02-23 10:32         ` Adam Ford
2016-02-23 10:59         ` Pantelis Antoniou
2016-02-23 10:59           ` Pantelis Antoniou
2016-02-23 11:56       ` Peter Maydell
2016-02-23 11:56         ` Peter Maydell
2016-02-23 12:01         ` Russell King - ARM Linux
2016-02-23 12:01           ` Russell King - ARM Linux
2016-02-23 13:45           ` Tom Rini
2016-02-23 13:45             ` Tom Rini
2016-02-23 12:45         ` Tomi Valkeinen
2016-02-23 12:45           ` Tomi Valkeinen
2016-02-23 13:49           ` Peter Maydell
2016-02-23 13:49             ` Peter Maydell
2016-02-24 12:06             ` Tomi Valkeinen
2016-02-24 12:06               ` Tomi Valkeinen
2016-02-24 10:46           ` Russell King - ARM Linux
2016-02-24 10:46             ` Russell King - ARM Linux
2016-02-24 11:21             ` Tomi Valkeinen
2016-02-24 11:21               ` Tomi Valkeinen
2016-02-24 11:35               ` Russell King - ARM Linux
2016-02-24 11:35                 ` Russell King - ARM Linux
2016-02-24 11:47                 ` Tomi Valkeinen [this message]
2016-02-24 11:47                   ` Tomi Valkeinen
2016-02-24 12:13               ` Pantelis Antoniou
2016-02-24 12:13                 ` Pantelis Antoniou
2016-02-25 13:43                 ` Linus Walleij
2016-02-25 13:43                   ` Linus Walleij
2016-02-25 13:56                   ` Tomi Valkeinen
2016-02-25 13:56                     ` Tomi Valkeinen
2016-02-25 14:35                   ` Pantelis Antoniou
2016-02-25 14:35                     ` Pantelis Antoniou
2016-02-25 15:36                     ` Linus Walleij
2016-02-25 15:36                       ` Linus Walleij
2016-02-25 15:40                       ` Pantelis Antoniou
2016-02-25 15:40                         ` Pantelis Antoniou
2016-02-23 13:08         ` Linus Walleij
2016-02-23 13:08           ` Linus Walleij
2016-02-15 23:34 ` [PATCH 00/11] CLCD Nomadik+Versatile support Linus Walleij
2016-02-15 23:34   ` Linus Walleij
2016-02-16 13:29   ` Tomi Valkeinen
2016-02-16 13:29     ` Tomi Valkeinen
2016-02-16 22:30     ` Linus Walleij
2016-02-16 22:30       ` Linus Walleij

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56CD9858.40104@ti.com \
    --to=tomi.valkeinen@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.