fpga: manager: change api, don't use drvdata
Change fpga_mgr_register to not set or use drvdata. This supports
the case where a PCIe device has more than one manager.
Add fpga_mgr_create/free functions. Change fpga_mgr_register and
fpga_mgr_unregister functions to take the mgr struct as their only
parameter.
struct fpga_manager *fpga_mgr_create(struct device *dev,
const char *name,
const struct fpga_manager_ops *mops,
void *priv);
void fpga_mgr_free(struct fpga_manager *mgr);
int fpga_mgr_register(struct fpga_manager *mgr);
void fpga_mgr_unregister(struct fpga_manager *mgr);
Update the drivers that call fpga_mgr_register with the new API.
Signed-off-by: Alan Tull <atull@kernel.org>
[Moritz: Fixup whitespace issue]
Reported-by: Jiuyue Ma <majiuyue@huawei.com>
Signed-off-by: Moritz Fischer <mdf@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
bbaa9cd3a6
commit
7085e2a94f
@@ -170,9 +170,11 @@ struct fpga_manager *fpga_mgr_get(struct device *dev);
|
||||
|
||||
void fpga_mgr_put(struct fpga_manager *mgr);
|
||||
|
||||
int fpga_mgr_register(struct device *dev, const char *name,
|
||||
const struct fpga_manager_ops *mops, void *priv);
|
||||
|
||||
void fpga_mgr_unregister(struct device *dev);
|
||||
struct fpga_manager *fpga_mgr_create(struct device *dev, const char *name,
|
||||
const struct fpga_manager_ops *mops,
|
||||
void *priv);
|
||||
void fpga_mgr_free(struct fpga_manager *mgr);
|
||||
int fpga_mgr_register(struct fpga_manager *mgr);
|
||||
void fpga_mgr_unregister(struct fpga_manager *mgr);
|
||||
|
||||
#endif /*_LINUX_FPGA_MGR_H */
|
||||
|
||||
Reference in New Issue
Block a user