On Tue, May 1, 2018 at 9:50 PM, Wu Hao <hao.wu@xxxxxxxxx> wrote: Hi Hao, > In some cases, other DFL driver modules may need to access some port > operations, e.g disable / enable port for partial reconfiguration in > FME module. In order to avoid dependency between port and FME modules, > this patch introduces the dfl_fpga_port_ops support in DFL framework. > A global dfl_fpga_port_ops list is added in the DFL framework, and > it allows other DFL modules to use these port operations registered > to this list, even in virtualization case, the port platform device > is turned into VF / guest VM and hidden in host, the registered > port_ops is still usable. It resolves the dependency issues between > modules, but once get port ops API returns a valid port ops, that > means related port driver module has been module_get to prevent from > unexpected unload, and put port ops API must be invoked after use. > > These APIs introduced by this patch is listed below: > * dfl_fpga_add_port_ops > add one port ops to the global list. > > * dfl_fpga_del_port_ops > del one port ops from the global list. > > * dfl_fpga_get_port_ops / dfl_fpga_put_port_ops > get/put the port ops before/after use. > > Signed-off-by: Wu Hao <hao.wu@xxxxxxxxx> Acked-by: Alan Tull <atull@xxxxxxxxxx> > --- > drivers/fpga/dfl.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ > drivers/fpga/dfl.h | 21 +++++++++++++++++ > 2 files changed, 88 insertions(+) > -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html