0
  *   ˆl–Ü4ý( ©³( 	Å€fàB¦-ÿÈƒn³_†I|¥�+ÈÇ %    /* SPDX-License-Identifier: GPL-2.0 */

#ifndef _FPGA_REGION_H
#define _FPGA_REGION_H

#include <linux/device.h>
#include <linux/fpga/fpga-mgr.h>
#include <linux/fpga/fpga-bridge.h>

/**
 * struct fpga_region - FPGA Region structure
 * @dev: FPGA Region device
 * @mutex: enforces exclusive reference to region
 * @bridge_list: list of FPGA bridges specified in region
 * @mgr: FPGA manager
 * @info: FPGA image info
 * @compat_id: FPGA region id for compatibility check.
 * @priv: private data
 * @get_bridges: optional function to get bridges to a list
 */
struct fpga_region {
	struct device dev;
	struct mutex mutex; /* for exclusive reference to region */
	struct list_head bridge_list;
	struct fpga_manager *mgr;
	struct fpga_image_info *info;
	struct fpga_compat_id *compat_id;
	void *priv;
	int (*get_bridges)(struct fpga_region *region);
};

#define to_fpga_region(d) container_of(d, struct fpga_region, dev)

struct fpga_region *fpga_region_class_find(
	struct device *start, const void *data,
	int (*match)(struct device *, const void *));

int fpga_region_program_fpga(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);

struct fpga_region
*devm_fpga_region_create(struct device *dev, struct fpga_manager *mgr,
			int (*get_bridges)(struct fpga_region *));

#endif /* _FPGA_REGION_H */
  #   ˆl–ßi~”JClÊqA
à¸ )‹FÿÊ„¯4÷ÉÈ ?÷     ELF          >    `+      @       He          @ 8  @         @       @       @       Ø      Ø                                                                                                                                      é#      é#                    @       @       @      ô      ô                    \       l       l      p                          ¸\      ¸l      ¸l                                 8      8      8      0       0                    h      h      h      D       D              Såtd   8      8      8      0       0              Påtd   ˜R      ˜R      ˜R      T       T              Qåtd                                                  Råtd    \       l       l      `      `             /lib64/ld-linux-x86-64.so.2               GNU   À          € À                   GNU u�£ÂÅ>}ñá^‡§kÊ         GNU                                                                        i                     V                     U                      Ù                      	                     7                                            g                      ¯                      –                                           }                      Ž                      ?                     �                     Â                      [                     Q                                          q                                             �                      È                      ¤                     F                     ‰                     *                     x                     �                     ú                                           ¢                      a                                          ,                       F   "                   ê                       _ITM_deregisterTMCloneTable __gmon_start__ _ITM_registerTMCloneTable __cxa_finalize __libc_start_main sigaction sigemptyset __stack_chk_fail pr2serr getpid kill __memset_chk sg_get_command_str ioctl sg_err_category3 __errno_location sg_chk_n_print3 perror sysconf strncpy strlen strcmp sg_get_num sg_get_llnum strncmp stat64 __open64_2 read free close lseek64 __snprintf_chk sg_convert_errno malloc gettimeofday open64 mmap64 libsgutils2-1.47.so.2 libc.so.6 GLIBC_2.7 GLIBC_2.33 GLIBC_2.4 GLIBC_2.34 GLIBC_2.2.5 GLIBC_2