cx25821-video.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. /*
  3. * Driver for the Conexant CX25821 PCIe bridge
  4. *
  5. * Copyright (C) 2009 Conexant Systems Inc.
  6. * Authors <[email protected]>, <[email protected]>
  7. * Based on Steven Toth <[email protected]> cx23885 driver
  8. */
  9. #ifndef CX25821_VIDEO_H_
  10. #define CX25821_VIDEO_H_
  11. #include <linux/init.h>
  12. #include <linux/list.h>
  13. #include <linux/module.h>
  14. #include <linux/moduleparam.h>
  15. #include <linux/kmod.h>
  16. #include <linux/kernel.h>
  17. #include <linux/slab.h>
  18. #include <linux/interrupt.h>
  19. #include <linux/delay.h>
  20. #include <linux/kthread.h>
  21. #include <asm/div64.h>
  22. #include "cx25821.h"
  23. #include <media/v4l2-common.h>
  24. #include <media/v4l2-ioctl.h>
  25. #include <media/v4l2-event.h>
  26. #define VIDEO_DEBUG 0
  27. #define dprintk(level, fmt, arg...) \
  28. do { \
  29. if (VIDEO_DEBUG >= level) \
  30. printk(KERN_DEBUG "%s/0: " fmt, dev->name, ##arg); \
  31. } while (0)
  32. #define FORMAT_FLAGS_PACKED 0x01
  33. extern void cx25821_video_wakeup(struct cx25821_dev *dev,
  34. struct cx25821_dmaqueue *q, u32 count);
  35. extern int cx25821_start_video_dma(struct cx25821_dev *dev,
  36. struct cx25821_dmaqueue *q,
  37. struct cx25821_buffer *buf,
  38. const struct sram_channel *channel);
  39. extern int cx25821_video_irq(struct cx25821_dev *dev, int chan_num, u32 status);
  40. extern void cx25821_video_unregister(struct cx25821_dev *dev, int chan_num);
  41. extern int cx25821_video_register(struct cx25821_dev *dev);
  42. #endif