diff options
author | Federico Vaga <federico.vaga@cern.ch> | 2017-07-18 09:33:24 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-08-28 17:24:22 +0300 |
commit | 9c0dda14951e9ed30b6f04e14bf64a3c69686c5b (patch) | |
tree | 2562d71e9f38eb5a6db7e0fff7519c926969f4c9 /include/linux/fmc.h | |
parent | 15b1b0f0d87e34a87172d9b83bd260543a991c2e (diff) | |
download | linux-9c0dda14951e9ed30b6f04e14bf64a3c69686c5b.tar.xz |
drivers/fmc: carrier can program FPGA on registration
The initial FPGA may require programming before it is useful.
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 | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/fmc.h b/include/linux/fmc.h index b6c73d54ca46..3dc8a1b2db7b 100644 --- a/include/linux/fmc.h +++ b/include/linux/fmc.h @@ -132,6 +132,8 @@ struct fmc_operations { uint32_t (*read32)(struct fmc_device *fmc, int offset); void (*write32)(struct fmc_device *fmc, uint32_t value, int offset); int (*validate)(struct fmc_device *fmc, struct fmc_driver *drv); + int (*reprogram_raw)(struct fmc_device *f, struct fmc_driver *d, + void *gw, unsigned long len); int (*reprogram)(struct fmc_device *f, struct fmc_driver *d, char *gw); int (*irq_request)(struct fmc_device *fmc, irq_handler_t h, char *name, int flags); @@ -144,6 +146,8 @@ struct fmc_operations { }; /* Prefer this helper rather than calling of fmc->reprogram directly */ +int fmc_reprogram_raw(struct fmc_device *fmc, struct fmc_driver *d, + void *gw, unsigned long len, int sdb_entry); extern int fmc_reprogram(struct fmc_device *f, struct fmc_driver *d, char *gw, int sdb_entry); |