#ifndef __FM_H
#define __FM_H
#include <linux/io.h>
#include <linux/interrupt.h>
#include <linux/of_irq.h>
#define FM_FD_CMD_FCO …
#define FM_FD_CMD_RPD …
#define FM_FD_CMD_UPD …
#define FM_FD_CMD_DTC …
#define FM_FD_ERR_UNSUPPORTED_FORMAT …
#define FM_FD_ERR_LENGTH …
#define FM_FD_ERR_DMA …
#define FM_FD_IPR …
#define FM_FD_ERR_IPR_NCSP …
#define FM_FD_ERR_IPR …
#define FM_FD_ERR_IPR_TO …
#define FM_FD_ERR_IPRE …
#define FM_FD_ERR_PHYSICAL …
#define FM_FD_ERR_SIZE …
#define FM_FD_ERR_CLS_DISCARD …
#define FM_FD_ERR_EXTRACTION …
#define FM_FD_ERR_NO_SCHEME …
#define FM_FD_ERR_KEYSIZE_OVERFLOW …
#define FM_FD_ERR_COLOR_RED …
#define FM_FD_ERR_COLOR_YELLOW …
#define FM_FD_ERR_PRS_TIMEOUT …
#define FM_FD_ERR_PRS_ILL_INSTRUCT …
#define FM_FD_ERR_PRS_HDR_ERR …
#define FM_FD_ERR_BLOCK_LIMIT_EXCEEDED …
#define FM_FD_RX_STATUS_ERR_NON_FM …
#define FMAN_BMI_FIFO_UNITS …
#define OFFSET_UNITS …
#define BM_MAX_NUM_OF_POOLS …
#define FMAN_PORT_MAX_EXT_POOLS_NUM …
struct fman;
enum fman_port_type { … };
struct fman_rev_info { … };
enum fman_exceptions { … };
struct fman_prs_result { … };
struct fman_buffer_prefix_content { … };
struct fman_ext_pool_params { … };
struct fman_ext_pools { … };
struct fman_buf_pool_depletion { … };
enum fman_event_modules { … };
enum fman_intr_type { … };
enum fman_inter_module_event { … };
struct fman_intr_src { … };
fman_exceptions_cb;
fman_bus_error_cb;
struct fman_dts_params { … };
struct fman { … };
struct fman_port_init_params { … };
void fman_get_revision(struct fman *fman, struct fman_rev_info *rev_info);
void fman_register_intr(struct fman *fman, enum fman_event_modules mod,
u8 mod_id, enum fman_intr_type intr_type,
void (*f_isr)(void *h_src_arg), void *h_src_arg);
void fman_unregister_intr(struct fman *fman, enum fman_event_modules mod,
u8 mod_id, enum fman_intr_type intr_type);
int fman_set_port_params(struct fman *fman,
struct fman_port_init_params *port_params);
int fman_reset_mac(struct fman *fman, u8 mac_id);
u16 fman_get_clock_freq(struct fman *fman);
u32 fman_get_bmi_max_fifo_size(struct fman *fman);
int fman_set_mac_max_frame(struct fman *fman, u8 mac_id, u16 mfl);
u32 fman_get_qman_channel_id(struct fman *fman, u32 port_id);
struct resource *fman_get_mem_region(struct fman *fman);
u16 fman_get_max_frm(void);
int fman_get_rx_extra_headroom(void);
#ifdef CONFIG_DPAA_ERRATUM_A050385
bool fman_has_errata_a050385(void);
#endif
struct fman *fman_bind(struct device *dev);
#endif