All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
	Gregory Clement <gregory.clement@free-electrons.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 4/4] ARM: mvebu: add armada drm init to Dove board setup
Date: Tue, 01 Jul 2014 15:21:41 +0200	[thread overview]
Message-ID: <53B2B5E5.50502@gmail.com> (raw)
In-Reply-To: <20140701131026.GO32514@n2100.arm.linux.org.uk>

On 07/01/2014 03:10 PM, Russell King - ARM Linux wrote:
> On Tue, Jul 01, 2014 at 03:04:31PM +0200, Sebastian Hesselbarth wrote:
>> +	pdev = platform_device_register_full(&armada_drm_dev_info);
>> +	/* assign last found lcd node to drm device for clk lookup */
>> +	pdev->dev.of_node = clknp;
>
> NAK.  This really isn't a good way to deal with this, even in a
> temporary basis.  While assigning a DT node to a manually created
> platform device does solve that problem, it also introduces the
> problem that this platform device will now match any platform driver
> which recognises the "marvell,dove-lcd" compatible type, which may
> occur _before_ we find the driver to match using the legacy strings.

Right, I never said it is a good solution but there is no driver for
"marvell,dove-lcd" *and* there is no way to assign clock aliases for
clocks not yet registered.

> There really isn't an easy solution to this other than doing the thing
> properly.

Well, you may have noticed that three moving subsystems plus new
bindings plus non-DT/DT drivers quickly create some kind of patch
deadlock. This is a dirty but tiny step to resolve one of those
deadlocks.

> The other problem in this series is that while you introduce some
> bindings which may work today, they're not going to work tomorrow, and
> that's a problem.  Don't do DT piecemeal like this and end up having to
> break the bindings (which we will have to do to add the endpoints.)

Adding new properties/subnodes never has been a problem for us at all.
New generic bindings were introduced *often* in the past and added to
existing bindings, e.g. clocks, gpio, pinctrl.

The proposed binding for dove-lcd simply reflects the tiny part that
is mandatory for identifying the lcd controllers. It only contains
reg and interrupts which would also be in the corresponding
platform_device.

> If you want to do this then you need to add the endpoints from the start
> even though the driver doesn't yet make use of them - or don't add the
> DT bits at all.

If you really think that way, I definitely give up on mainline Dove and
SolidRun Cubox. You are /really/ proposing to wait for *all* related
subsystem bindings to settle before even starting to add DT support?

Sebastian


WARNING: multiple messages have this Message-ID (diff)
From: sebastian.hesselbarth@gmail.com (Sebastian Hesselbarth)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/4] ARM: mvebu: add armada drm init to Dove board setup
Date: Tue, 01 Jul 2014 15:21:41 +0200	[thread overview]
Message-ID: <53B2B5E5.50502@gmail.com> (raw)
In-Reply-To: <20140701131026.GO32514@n2100.arm.linux.org.uk>

On 07/01/2014 03:10 PM, Russell King - ARM Linux wrote:
> On Tue, Jul 01, 2014 at 03:04:31PM +0200, Sebastian Hesselbarth wrote:
>> +	pdev = platform_device_register_full(&armada_drm_dev_info);
>> +	/* assign last found lcd node to drm device for clk lookup */
>> +	pdev->dev.of_node = clknp;
>
> NAK.  This really isn't a good way to deal with this, even in a
> temporary basis.  While assigning a DT node to a manually created
> platform device does solve that problem, it also introduces the
> problem that this platform device will now match any platform driver
> which recognises the "marvell,dove-lcd" compatible type, which may
> occur _before_ we find the driver to match using the legacy strings.

Right, I never said it is a good solution but there is no driver for
"marvell,dove-lcd" *and* there is no way to assign clock aliases for
clocks not yet registered.

> There really isn't an easy solution to this other than doing the thing
> properly.

Well, you may have noticed that three moving subsystems plus new
bindings plus non-DT/DT drivers quickly create some kind of patch
deadlock. This is a dirty but tiny step to resolve one of those
deadlocks.

> The other problem in this series is that while you introduce some
> bindings which may work today, they're not going to work tomorrow, and
> that's a problem.  Don't do DT piecemeal like this and end up having to
> break the bindings (which we will have to do to add the endpoints.)

Adding new properties/subnodes never has been a problem for us at all.
New generic bindings were introduced *often* in the past and added to
existing bindings, e.g. clocks, gpio, pinctrl.

The proposed binding for dove-lcd simply reflects the tiny part that
is mandatory for identifying the lcd controllers. It only contains
reg and interrupts which would also be in the corresponding
platform_device.

> If you want to do this then you need to add the endpoints from the start
> even though the driver doesn't yet make use of them - or don't add the
> DT bits at all.

If you really think that way, I definitely give up on mainline Dove and
SolidRun Cubox. You are /really/ proposing to wait for *all* related
subsystem bindings to settle before even starting to add DT support?

Sebastian

  reply	other threads:[~2014-07-01 13:21 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-01 13:04 [PATCH 0/4] Marvell Dove DRM for DT Sebastian Hesselbarth
2014-07-01 13:04 ` Sebastian Hesselbarth
2014-07-01 13:04 ` [PATCH 1/4] dt-bindings: add Marvell Dove LCD controller documentation Sebastian Hesselbarth
2014-07-01 13:04   ` Sebastian Hesselbarth
2014-07-01 13:04 ` [PATCH 2/4] ARM: dts: dove: add DT LCD controllers Sebastian Hesselbarth
2014-07-01 13:04   ` Sebastian Hesselbarth
2014-07-01 13:04   ` Sebastian Hesselbarth
2014-07-01 13:04 ` [PATCH 3/4] ARM: dts: dove: enable lcd0 on SolidRun CuBox Sebastian Hesselbarth
2014-07-01 13:04   ` Sebastian Hesselbarth
2014-07-01 13:04   ` Sebastian Hesselbarth
2014-07-01 13:18   ` Mark Rutland
2014-07-01 13:18     ` Mark Rutland
2014-07-01 13:18     ` Mark Rutland
2014-07-01 15:40   ` Jean-Francois Moine
2014-07-01 15:40     ` Jean-Francois Moine
2014-07-01 15:40     ` Jean-Francois Moine
2014-07-01 13:04 ` [PATCH 4/4] ARM: mvebu: add armada drm init to Dove board setup Sebastian Hesselbarth
2014-07-01 13:04   ` Sebastian Hesselbarth
2014-07-01 13:10   ` Russell King - ARM Linux
2014-07-01 13:10     ` Russell King - ARM Linux
2014-07-01 13:21     ` Sebastian Hesselbarth [this message]
2014-07-01 13:21       ` Sebastian Hesselbarth
2014-07-01 13:36       ` Russell King - ARM Linux
2014-07-01 13:36         ` Russell King - ARM Linux
2014-07-01 13:40         ` Sebastian Hesselbarth
2014-07-01 13:40           ` Sebastian Hesselbarth
2014-07-01 13:42           ` Russell King - ARM Linux
2014-07-01 13:42             ` Russell King - ARM Linux
2014-07-01 16:04         ` Jean-Francois Moine
2014-07-01 16:04           ` Jean-Francois Moine
2014-07-01 16:45           ` Russell King - ARM Linux
2014-07-01 16:45             ` Russell King - ARM Linux
2014-07-01 17:49             ` Jean-Francois Moine
2014-07-01 17:49               ` Jean-Francois Moine
2014-07-01 22:00               ` Russell King - ARM Linux
2014-07-01 22:00                 ` Russell King - ARM Linux
2014-07-01 16:53     ` Jason Cooper
2014-07-01 16:53       ` Jason Cooper
2014-07-01 17:06       ` Russell King - ARM Linux
2014-07-01 17:06         ` Russell King - ARM Linux

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=53B2B5E5.50502@gmail.com \
    --to=sebastian.hesselbarth@gmail.com \
    --cc=andrew@lunn.ch \
    --cc=gregory.clement@free-electrons.com \
    --cc=jason@lakedaemon.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    /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.