linux/drivers/media/usb/pvrusb2/pvrusb2-dvb.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef __PVRUSB2_DVB_H__
   3#define __PVRUSB2_DVB_H__
   4
   5#include <media/dvb_frontend.h>
   6#include <media/dvb_demux.h>
   7#include <media/dvb_net.h>
   8#include <media/dmxdev.h>
   9#include "pvrusb2-context.h"
  10
  11#define PVR2_DVB_BUFFER_COUNT 32
  12#define PVR2_DVB_BUFFER_SIZE PAGE_ALIGN(0x4000)
  13
  14struct pvr2_dvb_adapter {
  15        struct pvr2_channel     channel;
  16
  17        struct dvb_adapter      dvb_adap;
  18        struct dmxdev           dmxdev;
  19        struct dvb_demux        demux;
  20        struct dvb_net          dvb_net;
  21        struct dvb_frontend     *fe;
  22
  23        int                     feedcount;
  24        int                     max_feed_count;
  25
  26        struct task_struct      *thread;
  27        struct mutex            lock;
  28
  29        unsigned int            stream_run:1;
  30
  31        wait_queue_head_t       buffer_wait_data;
  32        char                    *buffer_storage[PVR2_DVB_BUFFER_COUNT];
  33};
  34
  35struct pvr2_dvb_props {
  36        int (*frontend_attach) (struct pvr2_dvb_adapter *);
  37        int (*tuner_attach) (struct pvr2_dvb_adapter *);
  38};
  39
  40struct pvr2_dvb_adapter *pvr2_dvb_create(struct pvr2_context *pvr);
  41
  42#endif /* __PVRUSB2_DVB_H__ */
  43