Linux Renesas SOC kernel development
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>,
	DRI Development <dri-devel@lists.freedesktop.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
	Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>,
	devicetree@vger.kernel.org
Subject: Re: [PATCH 03/10] drm: rcar-du: Fix legacy DT to create LVDS encoder nodes
Date: Fri, 12 Jan 2018 15:53:27 +0200	[thread overview]
Message-ID: <1675787.pl840eVHyY@avalon> (raw)
In-Reply-To: <CAMuHMdW5wDj5gyTnh+Xa3J10b_6For0MdhcTFgdU_+sgx=BYmA@mail.gmail.com>

Hi Geert,

On Friday, 12 January 2018 12:09:45 EET Geert Uytterhoeven wrote:
> On Fri, Jan 12, 2018 at 1:58 AM, Laurent Pinchart wrote:
> > The internal LVDS encoders now have their own DT bindings. Before
> > switching the driver infrastructure to those new bindings, implement
> > backward-compatibility through live DT patching.
> > 
> > Patching is disabled and will be enabled along with support for the new
> > DT bindings in the DU driver.
> > 
> > Signed-off-by: Laurent Pinchart
> > <laurent.pinchart+renesas@ideasonboard.com>
> 
> Thanks for your patch!
> 
> > --- a/drivers/gpu/drm/rcar-du/Kconfig
> > +++ b/drivers/gpu/drm/rcar-du/Kconfig
> > @@ -22,6 +22,7 @@ config DRM_RCAR_LVDS
> >         bool "R-Car DU LVDS Encoder Support"
> >         depends on DRM_RCAR_DU
> >         select DRM_PANEL
> > +       select OF_OVERLAY
> 
> select OF_FLATTREE for of_fdt_unflatten_tree()

I'll fix that.

> (you can probably check with sparc all*config)

I'd have to install a sparc cross-compiler :-)

> > --- /dev/null
> > +++ b/drivers/gpu/drm/rcar-du/rcar_du_of.c
> > @@ -0,0 +1,440 @@

[snip]

> > +static void __init rcar_du_of_lvds_patch_one(struct device_node *du,
> > +                                            unsigned int port_id,
> > +                                            const struct resource *res,
> > +                                            const __be32 *reg,
> > +                                            const struct of_phandle_args
> > *clkspec,
> > +                                            struct device_node *local,
> > +                                            struct device_node *remote)
> > +{
> > 
> > +
> > +       /* Skip if the LVDS node already exists. */
> > +       sprintf(name, "lvds@%llx", (u64)res->start);
> 
> I guess you cannot use %pa because you don't want a 0x prefix?

Correct.

> > +       /*
> > +        * Patch the LVDS and DU port nodes names and the associated fixup
> > +        * entries.
> > +        */
> > +       lvds = rcar_du_of_find_node_by_path(overlay.np,
> > +               "/fragment@0/__overlay__/lvds");
> > +       lvds_endpoints[0] = rcar_du_of_find_node_by_path(overlay.np,
> > +               "/fragment@0/__overlay__/lvds/ports/port@0/endpoint");
> > +       lvds_endpoints[1] = rcar_du_of_find_node_by_path(overlay.np,
> > +               "/fragment@0/__overlay__/lvds/ports/port@1/endpoint");
> > +       du_port = rcar_du_of_find_node_by_path(overlay.np,
> > +               "/fragment@1/__overlay__/ports/port@0");
> > +       du_port_fixup = rcar_du_of_find_node_by_path(overlay.np,
> > +               "/__local_fixups__/fragment@1/__overlay__/ports/port@0");
> 
> Many strings with similar prefixes or substrings?
> Would it make sense to e.g. locate "/fragment@0/__overlay__/lvds/ports"
> first, and continue from there?

I can do that for the first three, yes.

-- 
Regards,

Laurent Pinchart

  reply	other threads:[~2018-01-12 13:53 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-12  0:58 [PATCH 00/10] R-Car DU: Convert LVDS code to bridge driver Laurent Pinchart
2018-01-12  0:58 ` [PATCH 01/10] dt-bindings: display: renesas: Add R-Car LVDS encoder DT bindings Laurent Pinchart
2018-01-12  9:45   ` Geert Uytterhoeven
2018-01-12 13:36     ` Laurent Pinchart
2018-01-12 10:13   ` Geert Uytterhoeven
2018-01-12 13:29     ` Laurent Pinchart
2018-01-15  6:55       ` Simon Horman
2018-01-15  6:59         ` Laurent Pinchart
2018-01-15  7:57           ` Simon Horman
2018-01-15  8:05           ` Geert Uytterhoeven
2018-01-15  8:26             ` Laurent Pinchart
2018-01-12 12:59   ` Biju Das
2018-01-12 13:26     ` Laurent Pinchart
2018-01-12 14:00       ` Fabrizio Castro
2018-01-12 14:25         ` Laurent Pinchart
2018-01-12 15:13   ` Sergei Shtylyov
2018-01-12 20:34     ` Laurent Pinchart
2018-01-12  0:58 ` [PATCH 02/10] dt-bindings: display: renesas: Deprecate LVDS support in the DU bindings Laurent Pinchart
2018-01-12  9:49   ` Geert Uytterhoeven
2018-01-12 10:44     ` Laurent Pinchart
2018-01-19 21:23       ` Rob Herring
2018-01-12  9:54   ` Vladimir Zapolskiy
2018-01-12 10:43     ` Laurent Pinchart
2018-01-12 14:52       ` Sergei Shtylyov
2018-01-12 15:14   ` Sergei Shtylyov
2018-01-12 16:46     ` Laurent Pinchart
2018-01-19 21:24   ` Rob Herring
2018-01-12  0:58 ` [PATCH 03/10] drm: rcar-du: Fix legacy DT to create LVDS encoder nodes Laurent Pinchart
2018-01-12 10:09   ` Geert Uytterhoeven
2018-01-12 13:53     ` Laurent Pinchart [this message]
2018-01-12  0:58 ` [PATCH 04/10] drm: rcar-du: Convert LVDS encoder code to bridge driver Laurent Pinchart
2018-01-12  0:58 ` [PATCH 05/10] ARM: dts: porter: Fix HDMI output routing Laurent Pinchart
2018-01-15  7:56   ` Simon Horman
2018-01-15  8:25     ` Laurent Pinchart
2018-01-16  9:09       ` Simon Horman
2018-01-12  0:58 ` [PATCH 06/10] ARM: dts: r8a7790: Convert to new LVDS DT bindings Laurent Pinchart
2018-01-12  0:58 ` [PATCH 07/10] ARM: dts: r8a7791: " Laurent Pinchart
2018-01-12  0:58 ` [PATCH 08/10] ARM: dts: r8a7793: " Laurent Pinchart
2018-01-12  0:58 ` [PATCH 09/10] arm64: dts: renesas: r8a7795: " Laurent Pinchart
2018-01-12  0:58 ` [PATCH 10/10] arm64: dts: renesas: r8a7796: " Laurent Pinchart
2018-01-12  9:47 ` [PATCH 00/10] R-Car DU: Convert LVDS code to bridge driver Geert Uytterhoeven
2018-01-12 13:48   ` Laurent Pinchart
2018-01-15  6:57     ` Simon Horman
2018-01-15  7:00       ` Laurent Pinchart
2018-01-15  7:58         ` Simon Horman
2018-01-15  6:59 ` Simon Horman

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=1675787.pl840eVHyY@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=geert@linux-m68k.org \
    --cc=laurent.pinchart+renesas@ideasonboard.com \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=sergei.shtylyov@cogentembedded.com \
    /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