RFC: abstraction for RPC'ish hardware drivers ? mailbox ? netif ?

From: Enrico Weigelt, metux IT consult
Date: Sun Jun 25 2017 - 17:44:30 EST


Hi folks,


I'm currently implementing drivers for an industrial backplane, (*1)
which uses some kind of rpc / command-response mechanism.

There're different variants, eg. some proprietary serial interface,
USB link, pci cards, etc. On top of that there's a block-based command-
response mechanism for talking to the individual cards (which may have
multiple channels).

In the device I'm currently working on, we have several cards, eg.
CPU, PMU (power supply) and several IO modules. My primary goal is
docking in the IO cards into IIO (and later the PMU into the power
management infrastructure).

So, I need layers: the serial port (using uart stuff), the packet
layer and IIO. (and wire them via DT)

I see two possible candidates here:
a) mailbox
b) network interface

Both of them seem to be a good fit for packet-based interfaces,
but the network layer might be too much overhead, and (IMHO) doesn't
seem to be suited for direct use from (non network-protocol) drivers.


What do you folks think ?


--mtx

--
Enrico, Sohn von Wilfried, a.d.F. Weigelt,
metux IT consulting
+49-151-27565287