/*
 * Generic Platform Camera Driver Header
 *
 * Copyright (C) 2008 Magnus Damm
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

#ifndef __SOC_CAMERA_H__
#define __SOC_CAMERA_H__

#include <linux/videodev2.h>

struct soc_camera_platform_info {
	int iface;
	char *format_name;
	unsigned long format_depth;
	struct v4l2_pix_format format;
	unsigned long bus_param;
	void (*power)(int);
	int (*set_capture)(struct soc_camera_platform_info *info, int enable);
};

#endif /* __SOC_CAMERA_H__ */
