linux/drivers/staging/vme_user/vme_bridge.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _VME_BRIDGE_H_
#define _VME_BRIDGE_H_

#include "vme.h"

#define VME_CRCSR_BUF_SIZE
/*
 * Resource structures
 */
struct vme_master_resource {};

struct vme_slave_resource {};

struct vme_dma_pattern {};

struct vme_dma_pci {};

struct vme_dma_vme {};

struct vme_dma_list {};

struct vme_dma_resource {};

struct vme_lm_resource {};

struct vme_error_handler {};

struct vme_callback {};

struct vme_irq {};

/* Allow 16 characters for name (including null character) */
#define VMENAMSIZ

/* This structure stores all the information about one bridge
 * The structure should be dynamically allocated by the driver and one instance
 * of the structure should be present for each VME chip present in the system.
 */
struct vme_bridge {};

void vme_bus_error_handler(struct vme_bridge *bridge, unsigned long long address, int am);
void vme_irq_handler(struct vme_bridge *, int, int);

struct vme_bridge *vme_init_bridge(struct vme_bridge *);
int vme_register_bridge(struct vme_bridge *);
void vme_unregister_bridge(struct vme_bridge *);
struct vme_error_handler *vme_register_error_handler(struct vme_bridge *bridge, u32 aspace,
						     unsigned long long address, size_t len);
void vme_unregister_error_handler(struct vme_error_handler *handler);

#endif /* _VME_BRIDGE_H_ */