Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
mantis_link.h
Go to the documentation of this file.
1 /*
2  Mantis PCI bridge driver
3 
4  Copyright (C) Manu Abraham ([email protected])
5 
6  This program is free software; you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation; either version 2 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program; if not, write to the Free Software
18  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 */
20 
21 #ifndef __MANTIS_LINK_H
22 #define __MANTIS_LINK_H
23 
24 #include <linux/mutex.h>
25 #include <linux/workqueue.h>
26 #include "dvb_ca_en50221.h"
27 
32 };
33 
34 struct mantis_slot {
38 };
39 
40 /* Physical layer */
44 };
45 
46 struct mantis_ca {
47  struct mantis_slot slot[4];
48 
50 
55  wait_queue_head_t hif_write_wq; /* HIF Write op */
56 
58 
60 
61  void *ca_priv;
62 
64  struct mutex ca_lock;
65 };
66 
67 /* CA */
68 extern void mantis_event_cam_plugin(struct mantis_ca *ca);
69 extern void mantis_event_cam_unplug(struct mantis_ca *ca);
70 extern int mantis_pcmcia_init(struct mantis_ca *ca);
71 extern void mantis_pcmcia_exit(struct mantis_ca *ca);
72 extern int mantis_evmgr_init(struct mantis_ca *ca);
73 extern void mantis_evmgr_exit(struct mantis_ca *ca);
74 
75 /* HIF */
76 extern int mantis_hif_init(struct mantis_ca *ca);
77 extern void mantis_hif_exit(struct mantis_ca *ca);
78 extern int mantis_hif_read_mem(struct mantis_ca *ca, u32 addr);
79 extern int mantis_hif_write_mem(struct mantis_ca *ca, u32 addr, u8 data);
80 extern int mantis_hif_read_iom(struct mantis_ca *ca, u32 addr);
81 extern int mantis_hif_write_iom(struct mantis_ca *ca, u32 addr, u8 data);
82 
83 #endif /* __MANTIS_LINK_H */