diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-21 22:10:30 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-21 22:10:30 +0300 |
commit | e695e10bc996d6f83df7d85f1011c8d00573f68b (patch) | |
tree | 3d0ba107ea8fe7d0090e3cfd5e36cdb4abcaab99 /drivers/media/video/sn9c102/sn9c102.h | |
parent | 3a5f10e3708e00c406f154bae412652ec3eb2b48 (diff) | |
parent | f6982d59480953a8f5a84c237a9dabff39f788ce (diff) | |
download | linux-e695e10bc996d6f83df7d85f1011c8d00573f68b.tar.xz |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (196 commits)
V4L/DVB (5253): Qt1010: whitespace / 80 column cleanups
V4L/DVB (5252): Qt1010: use ARRAY_SIZE macro when appropriate
V4L/DVB (5251): Qt1010: fix compiler warning
V4L/DVB (5249): Fix compiler warning in vivi.c
V4L/DVB (5247): Stv0297: Enable BER/UNC counting
V4L/DVB (5246): Budget-ci: IR handling fixups
V4L/DVB (5245): Dvb-ttpci: use i2c gate ctrl from stv0297 frontend driver
V4L/DVB (5244): Dvbdev: fix illegal re-usage of fileoperations struct
V4L/DVB (5178): Avoid race when deregistering the IR control for dvb-usb
V4L/DVB (5240): Qt1010: use i2c_gate_ctrl where appropriate
V4L/DVB (5239): Whitespace / 80-column cleanups
V4L/DVB (5238): Kconfig: qt1010 should be selected by gl861 and au6610
V4L/DVB (5237): Dvb: add new qt1010 tuner module
V4L/DVB (5236): Initial support for Sigmatek DVB-110 DVB-T
V4L/DVB (5235): Gl861: use parallel_ts
V4L/DVB (5234): Gl861: remove unneeded declaration
V4L/DVB (5233): Gl861: correct address of the bulk endpoint
V4L/DVB (5232): Gl861: correct oops when loading module
V4L/DVB (5231): Gl861: whitespace cleanups
V4L/DVB (5230): Gl861: remove NULL entry from gl861_properties
...
Diffstat (limited to 'drivers/media/video/sn9c102/sn9c102.h')
-rw-r--r-- | drivers/media/video/sn9c102/sn9c102.h | 57 |
1 files changed, 21 insertions, 36 deletions
diff --git a/drivers/media/video/sn9c102/sn9c102.h b/drivers/media/video/sn9c102/sn9c102.h index 2c6ff396dafc..5428f34e7c5b 100644 --- a/drivers/media/video/sn9c102/sn9c102.h +++ b/drivers/media/video/sn9c102/sn9c102.h @@ -1,5 +1,5 @@ /*************************************************************************** - * V4L2 driver for SN9C10x PC Camera Controllers * + * V4L2 driver for SN9C1xx PC Camera Controllers * * * * Copyright (C) 2004-2006 by Luca Risolia <luca.risolia@studio.unibo.it> * * * @@ -37,33 +37,10 @@ #include <linux/string.h> #include <linux/stddef.h> +#include "sn9c102_config.h" #include "sn9c102_sensor.h" +#include "sn9c102_devtable.h" -/*****************************************************************************/ - -#define SN9C102_DEBUG -#define SN9C102_DEBUG_LEVEL 2 -#define SN9C102_MAX_DEVICES 64 -#define SN9C102_PRESERVE_IMGSCALE 0 -#define SN9C102_FORCE_MUNMAP 0 -#define SN9C102_MAX_FRAMES 32 -#define SN9C102_URBS 2 -#define SN9C102_ISO_PACKETS 7 -#define SN9C102_ALTERNATE_SETTING 8 -#define SN9C102_URB_TIMEOUT msecs_to_jiffies(2 * SN9C102_ISO_PACKETS) -#define SN9C102_CTRL_TIMEOUT 300 -#define SN9C102_FRAME_TIMEOUT 2 - -/*****************************************************************************/ - -enum sn9c102_bridge { - BRIDGE_SN9C101 = 0x01, - BRIDGE_SN9C102 = 0x02, - BRIDGE_SN9C103 = 0x04, -}; - -SN9C102_ID_TABLE -SN9C102_SENSOR_TABLE enum sn9c102_frame_state { F_UNUSED, @@ -99,13 +76,11 @@ enum sn9c102_stream_state { STREAM_ON, }; -typedef char sn9c103_sof_header_t[18]; -typedef char sn9c102_sof_header_t[12]; -typedef char sn9c102_eof_header_t[4]; +typedef char sn9c102_sof_header_t[62]; struct sn9c102_sysfs_attr { u8 reg, i2c_reg; - sn9c103_sof_header_t frame_header; + sn9c102_sof_header_t frame_header; }; struct sn9c102_module_param { @@ -137,8 +112,8 @@ struct sn9c102_device { struct v4l2_jpegcompression compression; struct sn9c102_sysfs_attr sysfs; - sn9c103_sof_header_t sof_header; - u16 reg[63]; + sn9c102_sof_header_t sof_header; + u16 reg[384]; struct sn9c102_module_param module_param; @@ -155,10 +130,7 @@ struct sn9c102_device { struct sn9c102_device* sn9c102_match_id(struct sn9c102_device* cam, const struct usb_device_id *id) { - if (usb_match_id(usb_ifnum_to_if(cam->usbdev, 0), id)) - return cam; - - return NULL; + return usb_match_id(usb_ifnum_to_if(cam->usbdev, 0), id) ? cam : NULL; } @@ -169,6 +141,19 @@ sn9c102_attach_sensor(struct sn9c102_device* cam, memcpy(&cam->sensor, sensor, sizeof(struct sn9c102_sensor)); } + +enum sn9c102_bridge +sn9c102_get_bridge(struct sn9c102_device* cam) +{ + return cam->bridge; +} + + +struct sn9c102_sensor* sn9c102_get_sensor(struct sn9c102_device* cam) +{ + return &cam->sensor; +} + /*****************************************************************************/ #undef DBG |