Thread (1 message) 1 message, 1 author, 2012-08-18

Re: dynamic device tree char driver

From: Rob Herring <hidden>
Date: 2012-08-18 15:45:45

On 08/16/2012 02:43 PM, Alan Tull wrote:
Hello,

I'm Alan Tull, interested in dynamic features of device trees.
Hey Alan. How are you doing?
The following patch adds a char driver to add or remove device tree
nodes dynamically.  Its ioctl passes a struct with:
 - size of the blob
 - pointer to the blob

The path to add the nodes under is coded in the blob with dummy nodes.
For example the following can be compiled into a blob and sent to this
driver adding a single node under /soc/apb_periphs:

/dts-v1/;
/ {
        soc {
                apb_periphs {
                        i2c1: i2c@ffc05000 {
                                compatible = "snps,designware-i2c";
                                reg = <0xffc05000 0x1000>;
                                interrupts = <0 159 4>;
                                emptyfifo_hold_master = <1>;
                        };
                };
        };
};

I wanted to get feeback early before I went too far down this particular
path.  As such, this code doesn't do any notification for drivers yet.
Also it won't properly add nested nodes yet.  It can add/remove a single
node and see it show up properly under /proc/device-tree.
Have you looked at arch/powerpc/platforms/pseries/reconfig.c?

There was also a recent discussion titled "OF_DYNAMIC usage" that you
should look at.

I don't think a char driver and ioctls will fly...

Another option could be kexecing with a new DTB if you can live with a
reboot.

Rob
Alan Tull
Altera

_______________________________________________
devicetree-discuss mailing list
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
https://lists.ozlabs.org/listinfo/devicetree-discuss
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help