]> git.baikalelectronics.ru Git - kernel.git/commit
fpga: add fpga bridge framework
authorAlan Tull <atull@opensource.altera.com>
Tue, 1 Nov 2016 19:14:28 +0000 (14:14 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Nov 2016 16:03:35 +0000 (17:03 +0100)
commitb3bc20e25d56cc6077f3c8e074becc961e2a6935
tree265b6231d1f8cde927c3de7f674e85c34b4527a2
parent4a8c038c1077b304d86b13bb3d6762afead8be2d
fpga: add fpga bridge framework

This framework adds API functions for enabling/
disabling FPGA bridges under kernel control.

This allows the Linux kernel to disable FPGA bridges
during FPGA reprogramming and to enable FPGA bridges
when FPGA reprogramming is done.  This framework is
be manufacturer-agnostic, allowing it to be used in
interfaces that use the FPGA Manager Framework to
reprogram FPGA's.

The functions are:
* of_fpga_bridge_get
* fpga_bridge_put
   Get/put an exclusive reference to a FPGA bridge.

* fpga_bridge_enable
* fpga_bridge_disable
   Enable/Disable traffic through a bridge.

* fpga_bridge_register
* fpga_bridge_unregister
   Register/unregister a device-specific low level FPGA
   Bridge driver.

Get an exclusive reference to a bridge and add it to a list:
* fpga_bridge_get_to_list

To enable/disable/put a set of bridges that are on a list:
* fpga_bridges_enable
* fpga_bridges_disable
* fpga_bridges_put

Signed-off-by: Alan Tull <atull@opensource.altera.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/fpga/Kconfig
drivers/fpga/Makefile
drivers/fpga/fpga-bridge.c [new file with mode: 0644]
include/linux/fpga/fpga-bridge.h [new file with mode: 0644]