File tree Expand file tree Collapse file tree 2 files changed +25
-3
lines changed Expand file tree Collapse file tree 2 files changed +25
-3
lines changed Original file line number Diff line number Diff line change @@ -199,7 +199,8 @@ EXPORT_SYMBOL(fmc_driver_unregister);
199
199
* When a device set is registered, all eeproms must be read
200
200
* and all FRUs must be parsed
201
201
*/
202
- int fmc_device_register_n (struct fmc_device * * devs , int n )
202
+ int fmc_device_register_n_gw (struct fmc_device * * devs , int n ,
203
+ struct fmc_gateware * gw )
203
204
{
204
205
struct fmc_device * fmc , * * devarray ;
205
206
uint32_t device_id ;
@@ -313,8 +314,20 @@ int fmc_device_register_n(struct fmc_device **devs, int n)
313
314
return ret ;
314
315
315
316
}
317
+ EXPORT_SYMBOL (fmc_device_register_n_gw );
318
+
319
+ int fmc_device_register_n (struct fmc_device * * devs , int n )
320
+ {
321
+ return fmc_device_register_n_gw (devs , n , NULL );
322
+ }
316
323
EXPORT_SYMBOL (fmc_device_register_n );
317
324
325
+ int fmc_device_register_gw (struct fmc_device * fmc , struct fmc_gateware * gw )
326
+ {
327
+ return fmc_device_register_n_gw (& fmc , 1 , gw );
328
+ }
329
+ EXPORT_SYMBOL (fmc_device_register_gw );
330
+
318
331
int fmc_device_register (struct fmc_device * fmc )
319
332
{
320
333
return fmc_device_register_n (& fmc , 1 );
Original file line number Diff line number Diff line change @@ -220,14 +220,23 @@ static inline void fmc_set_drvdata(struct fmc_device *fmc, void *data)
220
220
dev_set_drvdata (& fmc -> dev , data );
221
221
}
222
222
223
- /* The 4 access points */
223
+ struct fmc_gateware {
224
+ void * bitstream ;
225
+ unsigned long len ;
226
+ };
227
+
228
+ /* The 5 access points */
224
229
extern int fmc_driver_register (struct fmc_driver * drv );
225
230
extern void fmc_driver_unregister (struct fmc_driver * drv );
226
231
extern int fmc_device_register (struct fmc_device * tdev );
232
+ extern int fmc_device_register_gw (struct fmc_device * tdev ,
233
+ struct fmc_gateware * gw );
227
234
extern void fmc_device_unregister (struct fmc_device * tdev );
228
235
229
- /* Two more for device sets, all driven by the same FPGA */
236
+ /* Three more for device sets, all driven by the same FPGA */
230
237
extern int fmc_device_register_n (struct fmc_device * * devs , int n );
238
+ extern int fmc_device_register_n_gw (struct fmc_device * * devs , int n ,
239
+ struct fmc_gateware * gw );
231
240
extern void fmc_device_unregister_n (struct fmc_device * * devs , int n );
232
241
233
242
/* Internal cross-calls between files; not exported to other modules */
You can’t perform that action at this time.
0 commit comments