[Question] Status of user-space dynamic overlays API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello everyone.

I have been looking at ways to do runtime devicetree overlay application, and was just wondering what the current status of the different proposals [0], [1] were. They seem to be quite old and I think they were already rejected, but due to all the broken links, I am not really sure about the exact reasons. Also, maybe we now have the solutions to some the blockers at the time.


Let me fist go over some of the use cases where I think dynamic devicetree overlays can be useful. I am mostly interested in their use in single board computers like PocketBeagle 2 [2], Raspberry Pi [3], etc.


# Uses

## Dynamic Pin muxing

A lot of SBC's aimed for creating hardware projects expose headers, where each pin can be used for multiple things like GPIO, I2C, PWM, etc, depending on the pinmux. I think Raspberry Pi has it's own solution to do userspace pinmux, but if userspace devicetree application was a thing, it could probably be used for this. Additionally, being able to use dynamic devicetree overlays for pin muxing would allow much easier transition to use proper device trees during production.


## Dynamic Sensors/Devices

Using devices such as sensors, external ADCs, EEPROMs, etc are also a common usecase in SBC's. A lot of current solutions seem to be designed around using user-space drivers in such cases. This is a bit of a shame since Linux kernel already has drivers for a lot of these drivers, and they are probably going to be of higher quality than most user space drivers.


# Challenges

## Security

The concerns regarding security seemed to show up in the other proposals. There was a proposal to have a devicetree property to allow/deny the application of overlays in some nodes, with default being deny. Was it insufficient?


## Memory Leaks

Currently, updating/removing properties leaks memory. Was it one of the reasons for the rejection of previous proposals?


Maybe kernel already has some solutions more suited to my usecase that I am unware of?


[0]: https://lore.kernel.org/all/1417605808-23327-1-git-send-email-pantelis.antoniou@xxxxxxxxxxxx/#t

[1]: https://lore.kernel.org/all/20161220190455.25115-1-xypron.glpk@xxxxxx/

[2]: https://www.beagleboard.org/boards/pocketbeagle-2

[3]: https://www.raspberrypi.com/


Best Regards,

Ayush Singh





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux