summaryrefslogtreecommitdiff
path: root/include/linux/fmc.h
diff options
context:
space:
mode:
authorFederico Vaga <federico.vaga@cern.ch>2017-07-18 08:33:24 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-08-28 16:24:22 +0200
commit9c0dda14951e9ed30b6f04e14bf64a3c69686c5b (patch)
tree2562d71e9f38eb5a6db7e0fff7519c926969f4c9 /include/linux/fmc.h
parent15b1b0f0d87e34a87172d9b83bd260543a991c2e (diff)
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.h4
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);