mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-20 05:43:09 +00:00
fpga: region: change api, add fpga_region_create/free
Add fpga_region_create/free API functions. Change fpga_region_register to take FPGA region struct as the only parameter. Change fpga_region_unregister to return void. struct fpga_region *fpga_region_create(struct device *dev, struct fpga_manager *mgr, int (*get_bridges)(struct fpga_region *)); void fpga_region_free(struct fpga_region *region); int fpga_region_register(struct fpga_region *region); void fpga_region_unregister(struct fpga_region *region); Remove groups storage from struct fpga_region, it's not needed. Callers can just "region->dev.groups = groups;" after calling fpga_region_create. Update the drivers that call fpga_region_register with the new API. Signed-off-by: Alan Tull <atull@kernel.org> Signed-off-by: Moritz Fischer <mdf@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
371cd1b1fd
commit
9f368977b4
4 changed files with 68 additions and 27 deletions
|
@ -14,7 +14,6 @@
|
|||
* @info: FPGA image info
|
||||
* @priv: private data
|
||||
* @get_bridges: optional function to get bridges to a list
|
||||
* @groups: optional attribute groups.
|
||||
*/
|
||||
struct fpga_region {
|
||||
struct device dev;
|
||||
|
@ -24,7 +23,6 @@ struct fpga_region {
|
|||
struct fpga_image_info *info;
|
||||
void *priv;
|
||||
int (*get_bridges)(struct fpga_region *region);
|
||||
const struct attribute_group **groups;
|
||||
};
|
||||
|
||||
#define to_fpga_region(d) container_of(d, struct fpga_region, dev)
|
||||
|
@ -34,7 +32,12 @@ struct fpga_region *fpga_region_class_find(
|
|||
int (*match)(struct device *, const void *));
|
||||
|
||||
int fpga_region_program_fpga(struct fpga_region *region);
|
||||
int fpga_region_register(struct device *dev, struct fpga_region *region);
|
||||
int fpga_region_unregister(struct fpga_region *region);
|
||||
|
||||
struct fpga_region
|
||||
*fpga_region_create(struct device *dev, struct fpga_manager *mgr,
|
||||
int (*get_bridges)(struct fpga_region *));
|
||||
void fpga_region_free(struct fpga_region *region);
|
||||
int fpga_region_register(struct fpga_region *region);
|
||||
void fpga_region_unregister(struct fpga_region *region);
|
||||
|
||||
#endif /* _FPGA_REGION_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue