Thread (269 messages) 269 messages, 18 authors, 2014-11-11
STALE4230d

[PATCH 3/4] simplefb: disable dt node upon remove

From: David Herrmann <hidden>
Date: 2014-08-13 09:32:10
Also in: linux-fbdev

Hi

On Wed, Aug 13, 2014 at 11:23 AM, Grant Likely
[off-list ref] wrote:
On Wed, Aug 13, 2014 at 9:49 AM, David Herrmann [off-list ref] wrote:
quoted
On Wed, Aug 13, 2014 at 10:40 AM, Grant Likely
[off-list ref] wrote:
quoted
* the exception is an overlay driver which add new devices to the
kernel. Definitely not the case here.
Why?
The majority of the DT code is based on the assumption of a static
tree. Pantelis has been working on being able to modify it at runtime
with overlays, but he has had to go through a lot of rework because it
is not a trivial task. When you get into modifying the DT, you need to
have a lot more understanding of the side effects to changing the
tree. The DT structure also has a lifecycle that can go beyond the
current lifecycle of the kernel. The kexec tool will extract the
current tree from the kernel, make the appropriate modifications, and
use that to boot the next kernel. Allowing any driver to modify the
tree has side effects beyond just the current kernel.
Ok, fair enough. So we leave the DT untouched. That still allows
calling device_add() / device_del() on platform-devices, right?
In this specific case, it will interact badly with the work Pantelis
is doing to make platform devices work with overlays. Modifying the
status property will cause the associated struct device to get removed
in the middle of probing a driver for that device! That will most
likely cause an oops.

Besides, Luc straight out *said*: "...even though it has no real value
today". In what circumstance is that justification for modifying the
tree?
Sorry, I wasn't clear enough: I'm not arguing in favor of this patch.
I just want to figure out what to do once we implement
hardware-handover for graphics devices on non-x86 (which this series
is kinda preparing for). This patch just reminded me, that we could do
this on a DT level, instead of driver-core level. But I'm fine with
avoiding that, if you warn about complications.

Thanks
David
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help