dynamic device tree char driver
Rob Herring
robherring2 at gmail.com
Sun Aug 19 01:45:45 EST 2012
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 at 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 at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/devicetree-discuss
>
More information about the devicetree-discuss
mailing list