kdbus: add documentation

kdbus is a system for low-latency, low-overhead, easy to use
interprocess communication (IPC).

This patch adds detailed documentation on how the kernel interface is
used.

Signed-off-by: Daniel Mack <daniel@zonque.org>
kdbus: add header file

This patch adds the header file which describes the low-level
transport protocol used by various ioctls. The header file is located
in uapi as it is shared between kernel and userspace.

Signed-off-by: Daniel Mack <daniel@zonque.org>
kdbus: add driver skeleton, ioctl entry points and utility functions

Add the basic driver structure.

Signed-off-by: Daniel Mack <daniel@zonque.org>
kdbus: add connection pool implementation
kdbus: add connection, queue handling and message validation code

Signed-off-by: Daniel Mack <daniel@zonque.org>
kdbus: add code to gather metadata

Signed-off-by: Daniel Mack <daniel@zonque.org>
kdbus: add code for notifications and matches

Signed-off-by: Daniel Mack <daniel@zonque.org>
kdbus: add code for buses, domains and endpoints

Signed-off-by: Daniel Mack <daniel@zonque.org>
kdbus: add name registry implementation

Signed-off-by: Daniel Mack <daniel@zonque.org>
kdbus: add policy database implementation

Signed-off-by: Daniel Mack <daniel@zonque.org>
kdbus: add Makefile, Kconfig and MAINTAINERS entry

Signed-off-by: Daniel Mack <daniel@zonque.org>
INCLUDE FIXUP FOR SKELETON
kdbus: add selftests

This patch adds a quite extensive test suite for kdbus that checks
some of the most important code pathes in the driver. It's of course
impossible to check for every corner case, but the idea is to extend
the test suite over time.

Also, this code can serve as an example implementation to show how to
use the kernel API from userspace.

Signed-off-by: Daniel Mack <daniel@zonque.org>
TEST SUITE PATH FIXUP