Commit graph

493 commits

Author SHA1 Message Date
Erik Andr?n
09a7480ec1 V4L/DVB (11454): gspca - m5602-mt9m111: Remove the unused power_down struct member
The power_down sensor struct member is almost has no purpose in the current driver abstraction. Remove it.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-16 18:20:24 -03:00
Erik Andr?n
a594fb4866 V4L/DVB (11453): gspca - m5602-s5k4aa: Convert to use the v4l2 ctrl cache
Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-16 18:20:24 -03:00
Erik Andr?n
05d7d9ced6 V4L/DVB (11452): gspca - m5602-po1030: Convert to have a v4l2 ctrl cache
Let the po1030 have a local v4l2 ctrl cache as this minimizes the load on reading the registers and improves performance.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-16 18:20:23 -03:00
Luk?? Karas
ac3d5bfecc V4L/DVB (11451): gspca - m5602-s5k83a: Add rotation, ctrl cache. Rename some ctrls.
s5k83a sensor mounted on many acer laptops have a swiwel allowing it to be rotated. When the camera is in its rotated state, the image needs to be flipped. The only way to check for if the camera has been flipped is to continously poll a register in the m5602. This patch creates a kernel thread which does this. This patch renames some v4l2 ctrls and finally implements a cache in order to prevent unnecessary sensor reads.

Signed-off-by: Luk?? Karas <lukas.karas@centrum.cz>
Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-16 18:20:23 -03:00
Erik Andr?n
04f15655f6 V4L/DVB (11450): gspca - m5602-mt9m111: Convert the mt9m111 to use a v4l2 ctrl cache
Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-16 18:20:23 -03:00
Jean-Francois Moine
881cd41882 V4L/DVB (11449): gspca - zc3xx: Bad probe of many webcams since adcm2700 addition.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-16 18:20:23 -03:00
Hans de Goede
2444163122 V4L/DVB (11448): gspca - main: Use usb interface as parent.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-16 18:20:23 -03:00
Alexey Klimov
5d3fa30ddc V4L/DVB (11447): gspca - mr97310a: Return good error code in mod_init.
Signed-off-by: Alexey Klimov <klimov.linux@gmail.com>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-16 18:20:23 -03:00
Jean-Francois Moine
dd72cb3eda V4L/DVB (11446): gspca - t613: Do sensor reset only for sensor om6802.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-06-16 18:20:22 -03:00
Erik Andr?n
3c19a9543d V4L/DVB (11427): gspca - m5602: Minor cleanups
Remove an unnecessary error check and reorder some code.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:48 -03:00
Erik Andr?n
5196d7c631 V4L/DVB (11426): gspca - m5602: Don't touch hflip/vflip register on Read/Modify/Write
Touching the hflip/vflip register while doing the read/modify/write corrupts the image. Just read from the sensor ctrl cache instead and all is good.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:47 -03:00
Erik Andr?n
7460f52498 V4L/DVB (11425): gspca - m5602: Move the vflip quirk to probe stage.
The vflip quirk is better checked at probe time as it's only needed once.
Also add an extra reset at init time to resolve a suspend to ram regression.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:47 -03:00
Erik Andr?n
be63b722a5 V4L/DVB (11424): gspca - m5602-ov9650: Use the local ctrl cache. Adjust image on vflip.
Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:46 -03:00
Erik Andr?n
d9c700d415 V4L/DVB (11423): gspca - m5602-ov9650: Add a disconnect hook, setup a ctrl cache ctrl.
Reading and writing to a register doesn't always work reliably. Add a cache
and ensure that it is deallocated properly upon module disconnect.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:46 -03:00
Erik Andr?n
1a3dd5d91a V4L/DVB (11422): gspca - m5602-ov9650: Replace a magic constant with a define
Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:45 -03:00
Erik Andr?n
bd99ffbd2a V4L/DVB (11421): gspca - m5602-ov9650: Synthesize modesetting.
Previously all resolution setting was done with precalculated tables.
When the image is vflipped we need to adjust the alignment which would
require another table. Now we can adjust the parameters on the fly instead.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:44 -03:00
Erik Andr?n
6b0555008e V4L/DVB (11420): gspca - m5602: Improve error handling in the ov9650 driver
Some errors were not propagated properly.

Signed-off-by: Erik Andrén <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:44 -03:00
Erik Andr?n
7136e705d8 V4L/DVB (11419): gspca - m5602-ov9650: Don't read exposure data from COM1.
ov9650: Reading the COM1 register corrupts the image.
Decrease the granularity of the exposure and limit its upper range
as setting such high values doesn't have any effect on the image.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:43 -03:00
Erik Andr?n
5a0489b3be V4L/DVB (11418): gspca - m5602-ov9650: Auto white balancing is on by default
Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:43 -03:00
Erik Andr?n
8a38c649ac V4L/DVB (11417): gspca - m5602-ov9650: Autogain is on by default
Autogain is on by default, properly set the default value in the v4l2 ctrl.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:42 -03:00
Erik Andr?n
dac136e655 V4L/DVB (11416): gspca - m5602: Constify all sensor structs
Signed-off-by: Erik Andrén <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:42 -03:00
Erik Andr?n
71b755b08e V4L/DVB (11415): gspca - m5602: Remove an unused member in the sd struct.
Remove an unused sd struct member. Remove a redundant define while we're at it.

Signed-off-by: Erik Andrén <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:41 -03:00
Erik Andr?n
e17cc08c2f V4L/DVB (11414): gspca - m5602-mt9m111: Move v4l2 controls to main sensor file.
Move over the v4l2 controls to the sensor specific source file.
Remove the now redundant sensor struct member.

Signed-off-by: Erik Andrén <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:40 -03:00
Erik Andr?n
74cadfe131 V4L/DVB (11413): gspca - m5602-mt9m111: Separate mode vectors per sensor.
By separating the supported for each sensor into a separate vector we can
eliminate the nmodes variable and instead calculate it at runtime.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:40 -03:00
Erik Andr?n
4eecb1767e V4L/DVB (11412): gspca - m5602-ov9650: Checkpatch fixes
Signed-off-by: Erik Andrén <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:39 -03:00
Erik Andr?n
e4cc4fcc7b V4L/DVB (11411): gspca - m5602: Rework v4l ctrl handling in all sensors
Previously, all sensors allocated a part of a large ctrl vector.
Define this vector separately for each sensor instead.

Signed-off-by: Erik Andrén <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:39 -03:00
Erik Andr?n
e335f224e3 V4L/DVB (11410): gspca - m5602-ov9650: Always init the ov9650 before starting a stream
This is a hack preventing a suspend-to-ram/disk regression.

Signed-off-by: Erik Andrén <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:38 -03:00
Erik Andr?n
3d3ec926e9 V4L/DVB (11409): gspca - m5602-ov9650: Set the ov9650 sensor in soft sleep when inactive.
In order to save energy, put the sensor in soft sleep mode when not active

Signed-off-by: Erik Andrén <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:38 -03:00
Lukas Karas
4a7581f084 V4L/DVB (11408): gspca - m5602-s5k83a: Add led support to the s5k83a sensor.
This patch toggles the led seen on many laptops having a m5602 connected
to a Samsung s5k83a sensor.

Signed-off-by: Lukas Karas <lukas.karas@centrum.cz>
Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:37 -03:00
Erik Andr?n
dc913258ff V4L/DVB (11407): gspca - m5602-ov9650: Clean up ov9650_start() function.
Cleans some unnecessary temporary variable usage in the ov9650 start function.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:36 -03:00
Erik Andr?n
e31f9dd662 V4L/DVB (11406): gspca - m5602-ov9650: Add QCIF resolution support
Adds QCIF support for the ov9650 sensor

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:36 -03:00
Erik Andr?n
051781b3a8 V4L/DVB (11405): gspca - m5602: Simplify error handling
Simplfy error handling by replacing goto statements with return equivalents.

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:35 -03:00
Erik Andr?n
ad567ec235 V4L/DVB (11404): gspca - m5602-s5k4aa: Add start function and VGA resolution init.
Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:35 -03:00
Erik Andr?n
148d0b8deb V4L/DVB (11403): gspca - m5602-s5k4aa: No more "default" mode
Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:34 -03:00
Jean-Francois Moine
51412aac67 V4L/DVB (11402): gspca - vc032x: Remove the JPEG tables of mi1320_soc.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:34 -03:00
Adam Baker
dfa76fa282 V4L/DVB (11387): Sensor orientation reporting
Add support to the SQ-905 driver to pass back to user space the
sensor orientation information obtained from the camera during init.
Modifies gspca and the videodev2.h header to create the necessary
API.

[mchehab@redhat.com: Changed "Output is" to "Frames are" at the comments, as suggested at LMML]
Signed-off-by: Adam Baker <linux@baker-net.org.uk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06 21:44:29 -03:00
Trent Piepho
5a27578667 V4L/DVB (11263): gspca: Stop setting buffer type, and avoid memset in querycap
The v4l2-ioctl core checks the buffer type now by only allowing buffer
types for which the corresponding ->vidioc_try_fmt_xxx() methods are
defined.

This driver only defines ->vidioc_try_fmt_vid_cap() so only VIDEO_CAPTURE
buffers are allowed to be used with vidioc_g_parm.  Also,
->vidioc_enum_fmt_vid_cap() is only called for VIDEO_CAPTURE buffers.
There is no need to set the buffer type since it must already be the
correct value.

The struct which ->vidioc_querycap() is supposed to fill in is already
zeroed so it's not necessary to call memset on it.

Cc: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:44 -03:00
Douglas Schilling Landgraf
d99819d3f7 V4L/DVB (11222): gspca - zc3xx: The webcam DLink DSB - C320 has the sensor pas106.
Reported-by: Bruna Griebeler <bruna@griebeler.com>
Tested-by: Bruna Griebeler <bruna@griebeler.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:41 -03:00
Hans de Goede
3dee4dfed3 V4L/DVB (11221): gspca - sonixj: Prefer sonixj instead of sn9c102 for 0471:0327.
Prefer the gspca sonixj driver for the Philips SPC600NC webcam instead of
the sn9c102 driver. As we've got userreports that it works with the gspca
driver, whereas it fails with the sn9c102 driver, see:
https://bugzilla.redhat.com/show_bug.cgi?id=477111

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:41 -03:00
Jean-Francois Moine
c0c4c8937a V4L/DVB (11220): gspca - finepix: Use a workqueue for streaming.
Tested-by: Frank Zago <frank@zago.net>
Acked-by: Frank Zago <frank@zago.net>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:41 -03:00
Jean-Francois Moine
67e4542558 V4L/DVB (11219): gspca - sq905: Optimize the resolution setting.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:41 -03:00
Jean-Francois Moine
f6b8332b5e V4L/DVB (11218): gspca - sq905: Update the frame pointer after adding the last packet.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:41 -03:00
Theodore Kilgore
14a19c0a22 V4L/DVB (11213): gspca - sq905c: New subdriver.
The code in the new sq905c.c is based upon the structure of the code in
gspca/sq905.c, and upon the code in libgphoto2/camlibs/digigr8, which supports
the same set of cameras in stillcam mode. I am a co-author of gspca/sq905.c and
I am the sole author of libgphoto2/camlibs/digigr8, which is licensed under the
LGPL. I hereby give myself permission to use my own code from libgphoto2 in
gspca/sq905c.c.

Signed-off-by: Theodore Kilgore <kilgota@auburn.edu>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:40 -03:00
Jean-Francois Moine
58e2ded892 V4L/DVB (11212): gspca - vc032x: Use YVYU format for sensor mi1320_soc.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:40 -03:00
Jean-Francois Moine
33f5b07e30 V4L/DVB (11211): gspca - vc032x: Simplify the i2c write function.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:40 -03:00
Jean-Francois Moine
db786a3fde V4L/DVB (11209): gspca - vc032x: New sensor mi1320_soc and webcam 15b8:6001 added.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:40 -03:00
Jean-Francois Moine
235d0ff287 V4L/DVB (11146): gspca - vc032x: Change the probe sequence.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:32 -03:00
Jean-Francois Moine
e30bdc6693 V4L/DVB (11145): gspca - t613: Greater delay after om6802 reset.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:32 -03:00
Jean-Francois Moine
249fe889fd V4L/DVB (11144): gspca - t613: Don't re-read the ID registers at probe time.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:32 -03:00
Jean-Francois Moine
3da37e42ba V4L/DVB (11143): gspca - t613: Bad sensor detection.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-30 12:43:32 -03:00