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[2];
  22
  23        struct i2c_client       *i2c_client_demod[2];
  24        struct i2c_client       *i2c_client_tuner;
  25
  26        int                     feedcount;
  27        int                     max_feed_count;
  28
  29        struct task_struct      *thread;
  30        struct mutex            lock;
  31
  32        unsigned int            stream_run:1;
  33
  34        wait_queue_head_t       buffer_wait_data;
  35        char                    *buffer_storage[PVR2_DVB_BUFFER_COUNT];
  36};
  37
  38struct pvr2_dvb_props {
  39        int (*frontend_attach) (struct pvr2_dvb_adapter *);
  40        int (*tuner_attach) (struct pvr2_dvb_adapter *);
  41};
  42
  43struct pvr2_dvb_adapter *pvr2_dvb_create(struct pvr2_context *pvr);
  44
  45#endif /* __PVRUSB2_DVB_H__ */
  46