xref: /linux/drivers/media/usb/gspca/stv06xx/stv06xx_st6422.h (revision e5c86679d5e864947a52fb31e45a425dea3e7fa9)
1 /*
2  * Support for the sensor part which is integrated (I think) into the
3  * st6422 stv06xx alike bridge, as its integrated there are no i2c writes
4  * but instead direct bridge writes.
5  *
6  * Copyright (c) 2009 Hans de Goede <hdegoede@redhat.com>
7  *
8  * Strongly based on qc-usb-messenger, which is:
9  * Copyright (c) 2001 Jean-Fredric Clere, Nikolas Zimmermann, Georg Acher
10  *		      Mark Cave-Ayland, Carlo E Prelz, Dick Streefland
11  * Copyright (c) 2002, 2003 Tuukka Toivonen
12  *
13  * This program is free software; you can redistribute it and/or modify
14  * it under the terms of the GNU General Public License as published by
15  * the Free Software Foundation; either version 2 of the License, or
16  * (at your option) any later version.
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21  * GNU General Public License for more details.
22  *
23  */
24 
25 #ifndef STV06XX_ST6422_H_
26 #define STV06XX_ST6422_H_
27 
28 #include "stv06xx_sensor.h"
29 
30 static int st6422_probe(struct sd *sd);
31 static int st6422_start(struct sd *sd);
32 static int st6422_init(struct sd *sd);
33 static int st6422_init_controls(struct sd *sd);
34 static int st6422_stop(struct sd *sd);
35 
36 const struct stv06xx_sensor stv06xx_sensor_st6422 = {
37 	.name = "ST6422",
38 	/* No known way to lower framerate in case of less bandwidth */
39 	.min_packet_size = { 300, 847 },
40 	.max_packet_size = { 300, 847 },
41 	.init = st6422_init,
42 	.init_controls = st6422_init_controls,
43 	.probe = st6422_probe,
44 	.start = st6422_start,
45 	.stop = st6422_stop,
46 };
47 
48 #endif
49