On 02.07.20 18:24, Frieder Schrempf wrote:
On 02.07.20 17:07, Mark Brown wrote:
On Thu, Jul 02, 2020 at 04:46:09PM +0200, Frieder Schrempf wrote:
My intention is to use the spidev driver in the default board DT for an
interface that is routed to an extension connector and has no dedicated
slave device attached onboard. So users can attach sensors, etc. with
userspace drivers without touching the kernel or DT.
The expected way of doing this is to describe whatever was attached via
DT when it's attached - the device is what has the compatible, not some
connector in the middle of the connection. The way you've got things
set up if the device has a driver then they won't be able to instantiate
the driver.
Ok thanks, got it. I will remove the spi device from the board DT and
use an overlay if required. Now I got a reason to learn writing DT
overlays ;)
I need to come back to this for another question. I would very much like
to do it the way Mark described it above: Use a DT overlay to describe
the device and load this overlay when the device is attached.
But if I get this correctly it requires me to write a specific driver
that handles the loading of the overlay, which is way too much overhead
for the simple issue I'm trying to solve.
I would have expected that there is some kind of existing userspace API
to load an overlay manually, but it seems like there isn't!?
So what's the reasoning behind this? How can I solve this in a
mainline-compliant way, meaning without either keeping downstream
patches to bind spidev to my device or writing and maintaining code that
does the overlay loading?