bus: fsl-mc: add fsl-mc userspace support
authorIoana Ciornei <ioana.ciornei@nxp.com>
Thu, 14 Jan 2021 17:07:50 +0000 (19:07 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 27 Jan 2021 14:13:52 +0000 (15:13 +0100)
commit2cf1e703f066cfa82eb5a358ae84c29fe15a3b3a
tree93d20834f3d19ba11f5d84774d5fd7390cd33a69
parent46707989269a251e5e4ca295975525605bc8afef
bus: fsl-mc: add fsl-mc userspace support

Adding userspace support for the MC (Management Complex) means exporting
an ioctl capable device file representing the root resource container.

This new functionality in the fsl-mc bus driver intends to provide
userspace applications an interface to interact with the MC firmware.

Commands that are composed in userspace are sent to the MC firmware
through the FSL_MC_SEND_MC_COMMAND ioctl.  By default the implicit MC
I/O portal is used for this operation, but if the implicit one is busy,
a dynamic portal is allocated and then freed upon execution.

The command received through the ioctl interface is checked against a
known whitelist of accepted MC commands. Commands that attempt a change
in hardware configuration will need CAP_NET_ADMIN, while commands used
in debugging do not need it.

Acked-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Link: https://lore.kernel.org/r/20210114170752.2927915-4-ciorneiioana@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/userspace-api/ioctl/ioctl-number.rst
drivers/bus/fsl-mc/Kconfig
drivers/bus/fsl-mc/Makefile
drivers/bus/fsl-mc/dprc-driver.c
drivers/bus/fsl-mc/fsl-mc-private.h
drivers/bus/fsl-mc/fsl-mc-uapi.c [new file with mode: 0644]
include/uapi/linux/fsl_mc.h