On 04/18/2017 01:59 PM, Greg KH wrote:
On Sun, Mar 26, 2017 at 06:58:24PM +0200, Alexandre Bailon wrote:
Currently, the only hd controller supported by Greybus is the es2
controller which only support is mainly a bridge between USB and UniPro.
In order to use Greybus on devices that do not support UniPro,
add a the Greybus netlink hd controller.
By using Generic Netlink, userspace can act as a bridge between Greybus
and any kind of bus supported by the platform (e.g. Bluetooth).
In addition, this add an easy way to implement some component such as
SVC which is required by Greybus though it may not be available on
every platforms.
Very cool stuff, any hints on how to use this over netlink? Will the
network developers get mad at this as an abuse of the transport?
Currently, I haven't documented anything.
The only hint I can gives is to take a look
https://github.com/anobli/gbridge/blob/master/controllers/gb_netlink.c,
which is source code of gbridge that deals with generic netlink.
I think I should have a least documented the data format generic netlink
operations.
I'm not sure to understand your point about the abuse of the transport.
Signed-off-by: Alexandre Bailon <abailon@xxxxxxxxxxxx>
---
drivers/staging/greybus/Kconfig | 9 ++
drivers/staging/greybus/Makefile | 2 +
drivers/staging/greybus/gb_netlink.h | 37 ++++++
drivers/staging/greybus/netlink.c | 221 +++++++++++++++++++++++++++++++++++
4 files changed, 269 insertions(+)
create mode 100644 drivers/staging/greybus/gb_netlink.h
create mode 100644 drivers/staging/greybus/netlink.c
diff --git a/drivers/staging/greybus/Kconfig b/drivers/staging/greybus/Kconfig
index 50de2d7..f9f3526 100644
--- a/drivers/staging/greybus/Kconfig
+++ b/drivers/staging/greybus/Kconfig
@@ -27,6 +27,15 @@ config GREYBUS_ES2
To compile this code as a module, chose M here: the module
will be called gb-es2.ko
+config GREYBUS_NETLINK
+ tristate "Greybus netlink host controller"
+ ---help---
+ Select this option if you want to implement a Greybus
+ "host controller" in userspace.
+
+ To compile this code as a module, chose M here: the module
+ will be called gb-netlink.ko
Doesn't this need to depend on netlink to build properly?
I think so. I will check.
thanks,
greg k-h
Thanks,
Alexandre
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel