blob: e1470092dc185a1dfeef171cebb455ab75900190 [file] [log] [blame]
#ifndef _AVICAM_H_
#define _AVICAM_H_
#include <linux/i2c.h>
#include <media/videobuf2-core.h>
#include "avi_v4l2.h"
#include "avi_capture_timings.h"
enum avicam_bus_width {
AVICAM_BUS_WIDTH_8,
AVICAM_BUS_WIDTH_16,
};
/* this name should correspond to the module file name,
not to the module.driver.name as declared in the driver code */
#define AVICAM_DUMMY_NAME "avicam_dummy_dev"
struct avicam_subdevs {
struct i2c_board_info *board_info;
int i2c_adapter_id;
struct avicam_subdevs *subdevs;/*subdevices connected to a video input of the current subdev */
};
struct avicam_platform_data {
/* We need at least one camera */
unsigned long cam_cap;
/* True if we want to create a video device for stat capture (only
* available for raw format capture)*/
int enable_stats;
/* Custom measure-to-timings conversion function, if necessary */
avi_capture_get_timings measure_to_timings;
union avi_cam_interface interface;
unsigned int bus_config;
char bus_width;
struct avicam_subdevs *subdevs;
struct avicam_dummy_info *dummy_driver_info;
enum vb2_cache_flags vb2_cache_flags;
};
#endif /* _AVICAM_H_ */