diff options
author | Federico Vaga <federico.vaga@cern.ch> | 2017-07-18 08:33:13 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-08-28 16:24:22 +0200 |
commit | 15b1b0f0d87e34a87172d9b83bd260543a991c2e (patch) | |
tree | 46565ee325ed50daa277a7d0baaad93181f87329 /include/linux/fmc.h | |
parent | 2071a3e94abd34d65bd40f1ff845f9cea300dfa6 (diff) | |
download | lwn-15b1b0f0d87e34a87172d9b83bd260543a991c2e.tar.gz lwn-15b1b0f0d87e34a87172d9b83bd260543a991c2e.zip |
drivers/fmc: change registration prototype
Permit use of either fmc_device_register_n or fmc_device_register_n_gw
depending on the type of device in use.
Signed-off-by: Federico Vaga <federico.vaga@cern.ch>
Tested-by: Pat Riehecky <riehecky@fnal.gov>
Acked-by: Alessandro Rubini <rubini@gnudd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/fmc.h')
-rw-r--r-- | include/linux/fmc.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/include/linux/fmc.h b/include/linux/fmc.h index 5c8df0c49fc3..b6c73d54ca46 100644 --- a/include/linux/fmc.h +++ b/include/linux/fmc.h @@ -220,14 +220,23 @@ static inline void fmc_set_drvdata(struct fmc_device *fmc, void *data) dev_set_drvdata(&fmc->dev, data); } -/* The 4 access points */ +struct fmc_gateware { + void *bitstream; + unsigned long len; +}; + +/* The 5 access points */ extern int fmc_driver_register(struct fmc_driver *drv); extern void fmc_driver_unregister(struct fmc_driver *drv); extern int fmc_device_register(struct fmc_device *tdev); +extern int fmc_device_register_gw(struct fmc_device *tdev, + struct fmc_gateware *gw); extern void fmc_device_unregister(struct fmc_device *tdev); -/* Two more for device sets, all driven by the same FPGA */ +/* Three more for device sets, all driven by the same FPGA */ extern int fmc_device_register_n(struct fmc_device **devs, int n); +extern int fmc_device_register_n_gw(struct fmc_device **devs, int n, + struct fmc_gateware *gw); extern void fmc_device_unregister_n(struct fmc_device **devs, int n); /* Internal cross-calls between files; not exported to other modules */ |