Re: [PATCH] spi: spidev: Add compatible for external SPI ports on Kontron boards

From: Frieder Schrempf
Date: Mon Jul 13 2020 - 09:20:02 EST


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?