75
struct firedtv_backend {
76
int (*lock)(struct firedtv *fdtv, u64 addr, void *data);
77
int (*read)(struct firedtv *fdtv, u64 addr, void *data);
78
int (*write)(struct firedtv *fdtv, u64 addr, void *data, size_t len);
79
int (*start_iso)(struct firedtv *fdtv);
80
void (*stop_iso)(struct firedtv *fdtv);
73
struct fdtv_ir_context;
84
76
struct device *device;
104
96
enum model_type type;
99
struct fdtv_ir_context *ir_context;
107
101
fe_sec_voltage_t voltage;
108
102
fe_sec_tone_mode_t tone;
110
const struct firedtv_backend *backend;
113
104
struct mutex demux_mutex;
114
105
unsigned long channel_active;
115
106
u16 channel_pid[16];
118
109
u8 avc_data[512];
122
#ifdef CONFIG_DVB_FIREDTV_IEEE1394
123
int fdtv_1394_init(void);
124
void fdtv_1394_exit(void);
126
static inline int fdtv_1394_init(void) { return 0; }
127
static inline void fdtv_1394_exit(void) {}
130
112
/* firedtv-avc.c */
131
113
int avc_recv(struct firedtv *fdtv, void *data, size_t length);
132
114
int avc_tuner_status(struct firedtv *fdtv, struct firedtv_tuner_status *stat);
158
140
/* firedtv-dvb.c */
159
141
int fdtv_start_feed(struct dvb_demux_feed *dvbdmxfeed);
160
142
int fdtv_stop_feed(struct dvb_demux_feed *dvbdmxfeed);
161
int fdtv_dvb_register(struct firedtv *fdtv);
143
int fdtv_dvb_register(struct firedtv *fdtv, const char *name);
162
144
void fdtv_dvb_unregister(struct firedtv *fdtv);
163
struct firedtv *fdtv_alloc(struct device *dev,
164
const struct firedtv_backend *backend,
165
const char *name, size_t name_len);
166
extern const char *fdtv_model_names[];
167
extern const struct ieee1394_device_id fdtv_id_table[];
169
146
/* firedtv-fe.c */
170
void fdtv_frontend_init(struct firedtv *fdtv);
147
void fdtv_frontend_init(struct firedtv *fdtv, const char *name);
172
149
/* firedtv-fw.c */
173
#ifdef CONFIG_DVB_FIREDTV_FIREWIRE
174
int fdtv_fw_init(void);
175
void fdtv_fw_exit(void);
177
static inline int fdtv_fw_init(void) { return 0; }
178
static inline void fdtv_fw_exit(void) {}
150
int fdtv_lock(struct firedtv *fdtv, u64 addr, void *data);
151
int fdtv_read(struct firedtv *fdtv, u64 addr, void *data);
152
int fdtv_write(struct firedtv *fdtv, u64 addr, void *data, size_t len);
153
int fdtv_start_iso(struct firedtv *fdtv);
154
void fdtv_stop_iso(struct firedtv *fdtv);
181
156
/* firedtv-rc.c */
182
157
#ifdef CONFIG_DVB_FIREDTV_INPUT