From dc0b3db1b4f1895a07e5fe280ee3790e87f97b9f Mon Sep 17 00:00:00 2001 From: Ataberk Date: Sun, 25 Sep 2022 17:22:03 +0200 Subject: Initial commit --- sources/xdma_driver/xdma/xdma_cdev.h | 44 ++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 sources/xdma_driver/xdma/xdma_cdev.h (limited to 'sources/xdma_driver/xdma/xdma_cdev.h') diff --git a/sources/xdma_driver/xdma/xdma_cdev.h b/sources/xdma_driver/xdma/xdma_cdev.h new file mode 100644 index 0000000..9570066 --- /dev/null +++ b/sources/xdma_driver/xdma/xdma_cdev.h @@ -0,0 +1,44 @@ +/* + * This file is part of the Xilinx DMA IP Core driver for Linux + * + * Copyright (c) 2016-present, Xilinx, Inc. + * All rights reserved. + * + * This source code is licensed under both the BSD-style license (found in the + * LICENSE file in the root directory of this source tree) and the GPLv2 (found + * in the COPYING file in the root directory of this source tree). + * You may select, at your option, one of the above-listed licenses. + */ + +#ifndef __XDMA_CHRDEV_H__ +#define __XDMA_CHRDEV_H__ + +#include +#include +#include +#include +#include "xdma_mod.h" + +#define XDMA_NODE_NAME "xdma" +#define XDMA_MINOR_BASE (0) +#define XDMA_MINOR_COUNT (255) + +void xdma_cdev_cleanup(void); +int xdma_cdev_init(void); + +int char_open(struct inode *inode, struct file *file); +int char_close(struct inode *inode, struct file *file); +int xcdev_check(const char *, struct xdma_cdev *, bool); + +void cdev_ctrl_init(struct xdma_cdev *xcdev); +void cdev_xvc_init(struct xdma_cdev *xcdev); +void cdev_event_init(struct xdma_cdev *xcdev); +void cdev_sgdma_init(struct xdma_cdev *xcdev); +void cdev_bypass_init(struct xdma_cdev *xcdev); + +void xpdev_destroy_interfaces(struct xdma_pci_dev *xpdev); +int xpdev_create_interfaces(struct xdma_pci_dev *xpdev); + +int bridge_mmap(struct file *file, struct vm_area_struct *vma); + +#endif /* __XDMA_CHRDEV_H__ */ -- cgit v1.2.3