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>
This commit is contained in:
Родитель
2071a3e94a
Коммит
15b1b0f0d8
|
@ -199,7 +199,8 @@ EXPORT_SYMBOL(fmc_driver_unregister);
|
|||
* When a device set is registered, all eeproms must be read
|
||||
* and all FRUs must be parsed
|
||||
*/
|
||||
int fmc_device_register_n(struct fmc_device **devs, int n)
|
||||
int fmc_device_register_n_gw(struct fmc_device **devs, int n,
|
||||
struct fmc_gateware *gw)
|
||||
{
|
||||
struct fmc_device *fmc, **devarray;
|
||||
uint32_t device_id;
|
||||
|
@ -313,8 +314,20 @@ out:
|
|||
return ret;
|
||||
|
||||
}
|
||||
EXPORT_SYMBOL(fmc_device_register_n_gw);
|
||||
|
||||
int fmc_device_register_n(struct fmc_device **devs, int n)
|
||||
{
|
||||
return fmc_device_register_n_gw(devs, n, NULL);
|
||||
}
|
||||
EXPORT_SYMBOL(fmc_device_register_n);
|
||||
|
||||
int fmc_device_register_gw(struct fmc_device *fmc, struct fmc_gateware *gw)
|
||||
{
|
||||
return fmc_device_register_n_gw(&fmc, 1, gw);
|
||||
}
|
||||
EXPORT_SYMBOL(fmc_device_register_gw);
|
||||
|
||||
int fmc_device_register(struct fmc_device *fmc)
|
||||
{
|
||||
return fmc_device_register_n(&fmc, 1);
|
||||
|
|
|
@ -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 */
|
||||
|
|
Загрузка…
Ссылка в новой задаче