diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2008-03-07 00:30:23 -0500 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2009-02-24 08:51:25 -0500 |
commit | c81c8b68b46752721b0c1addfabb828da27e1489 (patch) | |
tree | 59d2a336150ce59780b73ba8dc59a829e217b2d0 /drivers/media/dvb/firesat/firesat.h | |
parent | f7e603ad8f78cd3b59e33fa72707da0cbabdf699 (diff) |
DVB: add firesat driver
Original code written by Christian Dolzer <c.dolzer@digital-everywhere.com>
Cleaned up by Greg.
Major cleanup and reorg by Manu Abraham <manu@linuxtv.org>
Additions also by Ben Backx <ben@bbackx.com>
Cc: Christian Dolzer <c.dolzer@digital-everywhere.com>
Cc: Andreas Monitzer <andy@monitzer.com>
Cc: Manu Abraham <manu@linuxtv.org>
Cc: Fabio De Lorenzo <delorenzo.fabio@gmail.com>
Cc: Robert Berger <robert.berger@reliableembeddedsystems.com>
Signed-off-by: Ben Backx <ben@bbackx.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Added missing dependency to dvb/firesat/Kconfig,
Reported-by: Randy Dunlap <randy.dunlap@oracle.com>
Tweaked dvb/Makefile.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/media/dvb/firesat/firesat.h')
-rw-r--r-- | drivers/media/dvb/firesat/firesat.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/drivers/media/dvb/firesat/firesat.h b/drivers/media/dvb/firesat/firesat.h new file mode 100644 index 000000000000..f852a1ac7740 --- /dev/null +++ b/drivers/media/dvb/firesat/firesat.h | |||
@@ -0,0 +1,85 @@ | |||
1 | #ifndef __FIRESAT_H | ||
2 | #define __FIRESAT_H | ||
3 | |||
4 | #include "dvb_frontend.h" | ||
5 | #include "dmxdev.h" | ||
6 | #include "dvb_demux.h" | ||
7 | #include "dvb_net.h" | ||
8 | |||
9 | #include <linux/semaphore.h> | ||
10 | #include <linux/dvb/frontend.h> | ||
11 | #include <linux/dvb/dmx.h> | ||
12 | |||
13 | enum model_type { | ||
14 | FireSAT_DVB_S = 1, | ||
15 | FireSAT_DVB_C = 2, | ||
16 | FireSAT_DVB_T = 3 | ||
17 | }; | ||
18 | |||
19 | struct firesat { | ||
20 | struct dvb_demux dvb_demux; | ||
21 | char *model_name; | ||
22 | |||
23 | /* DVB bits */ | ||
24 | struct dvb_adapter *adapter; | ||
25 | struct dmxdev dmxdev; | ||
26 | struct dvb_demux demux; | ||
27 | struct dmx_frontend frontend; | ||
28 | struct dvb_net dvbnet; | ||
29 | struct dvb_frontend_info *frontend_info; | ||
30 | struct dvb_frontend *fe; | ||
31 | |||
32 | struct dvb_device *cadev; | ||
33 | int has_ci; | ||
34 | |||
35 | struct semaphore avc_sem; | ||
36 | atomic_t avc_reply_received; | ||
37 | |||
38 | atomic_t reschedule_remotecontrol; | ||
39 | |||
40 | struct firesat_channel { | ||
41 | struct firesat *firesat; | ||
42 | struct dvb_demux_feed *dvbdmxfeed; | ||
43 | |||
44 | int active; | ||
45 | int id; | ||
46 | int pid; | ||
47 | int type; /* 1 - TS, 2 - Filter */ | ||
48 | } channel[16]; | ||
49 | struct semaphore demux_sem; | ||
50 | |||
51 | /* needed by avc_api */ | ||
52 | void *respfrm; | ||
53 | int resp_length; | ||
54 | |||
55 | // nodeid_t nodeid; | ||
56 | struct hpsb_host *host; | ||
57 | u64 guid; /* GUID of this node */ | ||
58 | u32 guid_vendor_id; /* Top 24bits of guid */ | ||
59 | struct node_entry *nodeentry; | ||
60 | |||
61 | enum model_type type; | ||
62 | char subunit; | ||
63 | fe_sec_voltage_t voltage; | ||
64 | fe_sec_tone_mode_t tone; | ||
65 | |||
66 | int isochannel; | ||
67 | |||
68 | struct list_head list; | ||
69 | }; | ||
70 | |||
71 | extern struct list_head firesat_list; | ||
72 | extern spinlock_t firesat_list_lock; | ||
73 | |||
74 | /* firesat_dvb.c */ | ||
75 | extern int firesat_start_feed(struct dvb_demux_feed *dvbdmxfeed); | ||
76 | extern int firesat_stop_feed(struct dvb_demux_feed *dvbdmxfeed); | ||
77 | extern int firesat_dvbdev_init(struct firesat *firesat, | ||
78 | struct device *dev, | ||
79 | struct dvb_frontend *fe); | ||
80 | |||
81 | /* firesat_fe.c */ | ||
82 | extern int firesat_frontend_attach(struct firesat *firesat, struct dvb_frontend *fe); | ||
83 | |||
84 | |||
85 | #endif | ||