Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
[linux-2.6.git] / drivers / staging / media / as102 / as10x_handle.h
1 /*
2  * Abilis Systems Single DVB-T Receiver
3  * Copyright (C) 2008 Pierrick Hascoet <pierrick.hascoet@abilis.com>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2, or (at your option)
8  * any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  */
19 #ifdef __KERNEL__
20 struct as10x_bus_adapter_t;
21 struct as102_dev_t;
22
23 #include "as10x_cmd.h"
24
25 /* values for "mode" field */
26 #define REGMODE8        8
27 #define REGMODE16       16
28 #define REGMODE32       32
29
30 struct as102_priv_ops_t {
31         int (*upload_fw_pkt) (struct as10x_bus_adapter_t *bus_adap,
32                               unsigned char *buf, int buflen, int swap32);
33
34         int (*send_cmd) (struct as10x_bus_adapter_t *bus_adap,
35                          unsigned char *buf, int buflen);
36
37         int (*xfer_cmd) (struct as10x_bus_adapter_t *bus_adap,
38                          unsigned char *send_buf, int send_buf_len,
39                          unsigned char *recv_buf, int recv_buf_len);
40
41         int (*start_stream) (struct as102_dev_t *dev);
42         void (*stop_stream) (struct as102_dev_t *dev);
43
44         int (*reset_target) (struct as10x_bus_adapter_t *bus_adap);
45
46         int (*read_write)(struct as10x_bus_adapter_t *bus_adap, uint8_t mode,
47                           uint32_t rd_addr, uint16_t rd_len,
48                           uint32_t wr_addr, uint16_t wr_len);
49
50         int (*as102_read_ep2) (struct as10x_bus_adapter_t *bus_adap,
51                                unsigned char *recv_buf,
52                                int recv_buf_len);
53 };
54 #endif