fpga: manager: change api, don't use drvdata
authorAlan Tull <atull@kernel.org>
Wed, 16 May 2018 23:49:55 +0000 (18:49 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 May 2018 16:23:55 +0000 (18:23 +0200)
commit7085e2a94f7df5f419e3cfb2fe809ce6564e9629
treeb0609f2d091aae39e00609357d5e6de678887bef
parentbbaa9cd3a605e337cefc566e5ac1b110763c8d1c
fpga: manager: change api, don't use drvdata

Change fpga_mgr_register to not set or use drvdata.  This supports
the case where a PCIe device has more than one manager.

Add fpga_mgr_create/free functions.  Change fpga_mgr_register and
fpga_mgr_unregister functions to take the mgr struct as their only
parameter.

  struct fpga_manager *fpga_mgr_create(struct device *dev,
                const char *name,
                const struct fpga_manager_ops *mops,
                void *priv);
  void fpga_mgr_free(struct fpga_manager *mgr);
  int fpga_mgr_register(struct fpga_manager *mgr);
  void fpga_mgr_unregister(struct fpga_manager *mgr);

Update the drivers that call fpga_mgr_register with the new API.

Signed-off-by: Alan Tull <atull@kernel.org>
[Moritz: Fixup whitespace issue]
Reported-by: Jiuyue Ma <majiuyue@huawei.com>
Signed-off-by: Moritz Fischer <mdf@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
13 files changed:
Documentation/fpga/fpga-mgr.txt
drivers/fpga/altera-cvp.c
drivers/fpga/altera-pr-ip-core.c
drivers/fpga/altera-ps-spi.c
drivers/fpga/fpga-mgr.c
drivers/fpga/ice40-spi.c
drivers/fpga/machxo2-spi.c
drivers/fpga/socfpga-a10.c
drivers/fpga/socfpga.c
drivers/fpga/ts73xx-fpga.c
drivers/fpga/xilinx-spi.c
drivers/fpga/zynq-fpga.c
include/linux/fpga/fpga-mgr.h