From: Sebastian Hesselbarth <sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Inki Dae <inki.dae-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
Cc: 'Jean-Francois Moine' <moinejf-GANU6spQydw@public.gmane.org>,
'Daniel Drake' <dsd-2X9k7bc8m7Mdnm+yROfE0A@public.gmane.org>,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
'Sascha Hauer' <s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
'Russell King' <rmk-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>
Subject: Re: Best practice device tree design for display subsystems/DRM
Date: Wed, 03 Jul 2013 13:51:56 +0200 [thread overview]
Message-ID: <51D4105C.3070503@gmail.com> (raw)
In-Reply-To: <00cc01ce77e2$844b3a80$8ce1af80$%dae-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
On 07/03/13 13:43, Inki Dae wrote:
>> I do not understand why you keep referring to the SoC dtsi. Im my
>> example, I said that it is made up and joined from both SoC dtsi and
>> board dts.
>>
>> So, of course, lcd controller nodes and dcon are part of dove.dtsi
>> because they are physically available on every Dove SoC.
>>
>> Also, the connection from lcd0 to the external HDMI encoder node
>> is in the board dts because you can happily build a Dove SoC board
>> with a different HDMI encoder or with no encoder at all.
>>
>> The video-card super node is not in any way specific to DRM and
>
> In case of fbdev, framebuffer driver would use lcd0 or lcd1 driver, or lcd0
> and lcd1 drivers which are placed in drivers/video/backlight/.
>
> And let's assume the following:
>
> On board A
> Display controller ------------- lcd 0
> On board B
> Display controller ------------- lcd 1
> On board C
> Display controller ------------- lcd 0 and lcd 1
>
> Without the super node, user could configure Linux kernel through menuconfig
> like below;
> board A: enabling lcd 0, and disabling lcd 1,
> board B: disabling lcd 0, and enabling lcd 1,
> board C: enabling lcd 0 and lcd 1.
>
> All we have to do is to configure menuconfig to enable only drivers for
> certain board. Why does fbdev need the super node? Please give me comments
> if there is my missing point.
I assume when you say "configure menuconfig" you mean
"create a CONFIG_DISPLAY_CONTROLLER_AS_USED_ON_BOARD_A,
CONFIG_DISPLAY_CONTROLLER_AS_USED_ON_BOARD_B, ..." ?
This finally will require you to have
(a) #ifdef mess for every single board _and_ driver above
(b) new CONFIG_.._BOARD_D plus new #ifdefs in fbdev driver for every
new board
(c) A new set of the above CONFIG_/#ifdef for DRM driver
This can also be done with device_tree and supernode approach,
so for your example above:
BoardA.dts:
video { card0 { video-devices = <&lcd0>; }; };
BoardB.dts:
video { card0 { video-devices = <&lcd1>; }; };
BoardC.dts:
video { card0 { video-devices = <&lcd0 &lcd1>; }; };
and in the driver your are prepared for looping over the video-devices
property and parsing the compatible string of the nodes passed.
Sebastian
next prev parent reply other threads:[~2013-07-03 11:51 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-02 17:43 Best practice device tree design for display subsystems/DRM Daniel Drake
2013-07-02 18:42 ` Jean-Francois Moine
2013-07-02 19:19 ` Russell King
[not found] ` <20130702191923.GD13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-02 19:57 ` Sebastian Hesselbarth
[not found] ` <51D330AC.5060903-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-02 20:25 ` Russell King
[not found] ` <20130702202548.GE13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-02 21:50 ` Sascha Hauer
2013-07-02 22:02 ` Dave Airlie
[not found] ` <CAPM=9ty8W7wEewLpcKjNV-RXzVnReKVrPu_MGN80=Y-xPr-f+w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-02 22:14 ` Russell King
[not found] ` <20130702221445.GF13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-03 7:33 ` Sascha Hauer
2013-07-03 1:46 ` Stéphane Marchesin
[not found] ` <CACP_E++-L_Ntv=ZpkrSjB4y4GRc=WNDdXLeQAxb5NWniD3Frfg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-03 2:56 ` Rob Clark
2013-07-03 6:42 ` Inki Dae
2013-07-03 12:31 ` Lucas Stach
2013-07-03 6:55 ` Sascha Hauer
[not found] ` <20130703065559.GJ516-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-07-03 8:20 ` Sebastian Hesselbarth
2013-07-05 8:37 ` Grant Likely
[not found] ` <CACxGe6uTv2yaTH-_JLa=vtgmXwq=++wz3=eDpkRr2GVbKaME1A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-05 8:50 ` Russell King
[not found] ` <20130705085020.GV13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-05 9:02 ` Grant Likely
2013-07-02 21:04 ` Daniel Drake
[not found] ` <CAMLZHHTbkfxmzrSrAU586Ywxptk=4Njzb0_puWxhfBcmBB0BWQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-02 21:41 ` Sebastian Hesselbarth
[not found] ` <51D348F5.2080205-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-03 8:57 ` Inki Dae
[not found] ` <00ae01ce77cb$524d57f0$f6e807d0$%dae-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-07-03 9:02 ` Sascha Hauer
[not found] ` <20130703090242.GM516-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-07-03 9:08 ` Sebastian Hesselbarth
[not found] ` <51D3EA0E.2090008-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-03 9:48 ` Inki Dae
[not found] ` <00ba01ce77d2$80285f10$80791d30$%dae-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-07-03 9:53 ` Russell King
[not found] ` <20130703095338.GH13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-03 10:52 ` Sebastian Hesselbarth
[not found] ` <51D40275.4020806-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-03 11:32 ` Russell King
[not found] ` <20130703113224.GI13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-03 17:38 ` Sebastian Hesselbarth
2013-07-03 11:43 ` Inki Dae
[not found] ` <00cc01ce77e2$844b3a80$8ce1af80$%dae-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-07-03 11:51 ` Sebastian Hesselbarth [this message]
[not found] ` <51D4105C.3070503-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-04 7:05 ` Inki Dae
[not found] ` <000601ce7884$e99ade20$bcd09a60$%dae-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-07-04 7:25 ` Sebastian Hesselbarth
[not found] ` <51D5234C.3070000-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-04 8:15 ` Inki Dae
2013-07-03 12:04 ` Russell King
[not found] ` <20130703120458.GJ13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-04 2:03 ` Inki Dae
2013-07-03 9:52 ` Russell King
[not found] ` <20130703095248.GG13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-03 11:12 ` Sebastian Hesselbarth
2013-07-03 11:29 ` Sascha Hauer
2013-07-04 8:33 ` Sascha Hauer
[not found] ` <20130704083307.GH10414-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-07-04 8:40 ` Russell King
[not found] ` <20130704084052.GP13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-04 8:58 ` Sascha Hauer
[not found] ` <20130704085817.GZ516-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-07-04 9:11 ` Russell King
[not found] ` <20130704091131.GR13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-04 9:30 ` Sascha Hauer
[not found] ` <20130704093047.GJ10414-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-07-04 9:44 ` Sebastian Hesselbarth
[not found] ` <51D54409.6020608-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-04 10:09 ` Sascha Hauer
[not found] ` <20130704100932.GL10414-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-07-04 10:58 ` Sebastian Hesselbarth
2013-07-05 10:07 ` Sascha Hauer
[not found] ` <20130705100750.GJ516-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-07-05 10:41 ` Grant Likely
2013-07-04 8:45 ` Sebastian Hesselbarth
[not found] ` <51D53634.5040405-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-04 8:53 ` Sascha Hauer
[not found] ` <20130704085313.GY516-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-07-04 9:10 ` Sebastian Hesselbarth
[not found] ` <51D53C0B.6060106-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-04 9:23 ` Sascha Hauer
[not found] ` <20130704092305.GI10414-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-07-04 9:40 ` Sebastian Hesselbarth
[not found] ` <51D54301.8080902-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-04 9:57 ` Sascha Hauer
2013-07-04 9:08 ` Russell King
[not found] ` <20130704090829.GQ13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-04 9:51 ` Sascha Hauer
2013-07-05 8:43 ` Grant Likely
[not found] ` <CACxGe6uRJ9B9qnPT_KLNphg-n2WeA9UFO-rvCdKJHijGqJ8SOg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-05 9:34 ` Sebastian Hesselbarth
[not found] ` <51D69324.90301-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-07-05 9:51 ` Grant Likely
[not found] ` <CACxGe6v_oQptLZzgsT_nf-K4680mP1f8sHJHN8AekeEy0_T18w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-05 11:16 ` Sebastian Hesselbarth
2013-07-04 15:11 ` Rob Clark
[not found] ` <CAF6AEGuzwNJtuAWS29YvdZ1fiMGk5cuv24n4wxkKsDPT8FrDBw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-04 21:28 ` Dave Airlie
2013-07-05 0:50 ` Alex Deucher
[not found] ` <CAMLZHHREVEdRuHaD0imRu4pUv15ZyWYF2J9WCBEw-frxBry-Lw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-02 18:43 ` Russell King
[not found] ` <20130702184305.GB13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-02 18:54 ` Daniel Drake
[not found] ` <CAMLZHHSU1OVrQrtucTNn4AmTCiNER19njvQdomxTcXAzqxCi4A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-07-02 19:08 ` Russell King
[not found] ` <20130702190809.GC13924-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2013-07-03 8:06 ` Inki Dae
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=51D4105C.3070503@gmail.com \
--to=sebastian.hesselbarth-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
--cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=dsd-2X9k7bc8m7Mdnm+yROfE0A@public.gmane.org \
--cc=inki.dae-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
--cc=moinejf-GANU6spQydw@public.gmane.org \
--cc=rmk-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
--cc=s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).