1
Commit Graph

55 Commits

Author SHA1 Message Date
Hans Verkuil
188f3457c2 V4L/DVB (6465): Use correct error codes when chip is not recognized
If the chip isn't recognized, then the correct errors should be returned.
The v4l2_i2c_attach() utility function will return 0 for all errors
except -ENOMEM to provide proper compatibility support for the old I2C
probing function.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:01:27 -02:00
Hans Verkuil
fbaa3d0db4 V4L/DVB (6455): saa7115: convert to bus-based I2C API
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-25 19:01:20 -02:00
Hans Verkuil
1e5e9aab31 V4L/DVB (5414): Add missing kfree in early exit of saa7115.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:44:31 -03:00
Hans Verkuil
3434eb7e14 V4L/DVB (5306): Add support for VIDIOC_G_CHIP_IDENT
VIDIOC_G_CHIP_IDENT improves debugging of card problems: it can be
used to detect which chips are on the board and based on that information
selected register dumps can be made, making it easy to debug complicated
media chips containing tens or hundreds of registers.
This ioctl replaces the internal VIDIOC_INT_G_CHIP_IDENT ioctl.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-04-27 15:43:27 -03:00
Mauro Carvalho Chehab
a9aaec4e83 V4L/DVB (5408): Fix SECAM handling on saa7115
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-03-27 08:45:54 -03:00
Hans Verkuil
f3d092b84a V4L/DVB (5304): Improve chip matching in v4l2_register
The chip matching in struct v4l2_register for VIDIOC_DBG_G/S_REGISTER 
was rather primitive. It could not be extended to other busses besides 
i2c and it lacked a way to.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-03-01 13:09:44 -02:00
Hans Verkuil
faeb4ab38f V4L/DVB (5183): Fix CC handling in VIDIOC_INT_G_VBI_DATA
When capturing a 60 Hz input the internal field ID is inverted. The
VIDIOC_INT_G_VBI_DATA didn't take that into account and so returned
XDS instead of CC and vice versa.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:14 -02:00
Trent Piepho
62d50addf0 V4L/DVB (5163): Add checks for CAP_SYS_ADMIN to VIDIOC_DBG_G_REGISTER
Before, root privileges were only needed to set hardware registers, not
to read them.  On some hardware, reading from the wrong place at the
wrong time can hang the machine.  So, to be consistent, root privileges
are required to read registers on all hardware.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:35:10 -02:00
Trent Piepho
52ebc763d8 V4L/DVB (5146): Make VIDIOC_INT_[SG]_REGISTER ioctls no longer internal only
The direct register access ioctls were defined as kernel internal only,
but they are very useful for debugging hardware from userspace and are
used as such.  Officially export them.

VIDIOC_INT_[SG]_REGISTER is renamed to VIDIOC_DBG_[SG]_REGISTER 
Definition of ioctl and struct v4l2_register is moved from v4l2-common.h 
to videodev2.h.

Types used in struct v4l2_register are changed to the userspace 
exportable versions (u32 -> __u32, etc). 

Use of VIDIOC_DBG_S_REGISTER requires CAP_SYS_ADMIN permission, so move 
the check into the video_ioctl2() dispatcher so it doesn't need to be 
duplicated in each driver's call-back function. CAP_SYS_ADMIN check is 
added to pvrusb2 (which doesn't use video_ioctl2).

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:34:55 -02:00
Marco Schluessler
4cbca185e9 V4L/DVB (5113): Adds video output routing
Nexus CA needs to use a different routing on saa7115 module.

Signed-off-by: Marco Schluessler <marco@lordzodiac.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:34:47 -02:00
Hans Verkuil
d0d30c03ed V4L/DVB (4886): Minor coding style improvements
Remove coding style inconsistencies.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-12-10 09:05:22 -02:00
Hans Verkuil
f7668162a3 V4L/DVB (4885): Improve saa711x check
The old code would accept any device on the same i2c address as the
saa711x chips as an saa711x. However, this fails with saa717x chips,
which use that same address and so are misdetected as a saa7111. Now
check whether the chip is really a saa711x model.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-11-26 08:52:38 -02:00
Pádraig Brady
fc2fa31f4e V4L/DVB (4739): SECAM support for saa7113 into saa7115
Without the attached trivial patch, the saa7113 is set up for PAL when SECAM 
is selected and hence will see only show black and white for SECAM signals.
Tested the patch against the saa7115 module in linux-2.6.17 with a 
Pinnacle 50e USB tuner (em28xx).

Signed-off-by: Pádraig Brady <P@draigBrady.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-10-14 00:44:10 -03:00
Mauro Carvalho Chehab
183d896a03 V4L/DVB (4626): On saa7111/7113, LUMA_CTRL need a different value
Also sends the proper saa71111 init table.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:36 -03:00
Mauro Carvalho Chehab
97d9e80e75 V4L/DVB (4598): Fix a typo: VRES, instead o HRES
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:35 -03:00
Mike Isely
22ebb77dfa V4L/DVB (4596): Fix saa7115 miscalculation that breaks NTSC
This repairs a problem introduced by a commit earlier applied.
Thanks-to: Hans Verkuil <hverkuil@xs4all.nl>

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:35 -03:00
Mauro Carvalho Chehab
d9dce96fae V4L/DVB (4592): Fixes some troubles on saa7115
Scaling were not working fine;
Some reserved registers were wrong;
On some situations, saa7115 were not properly being initializated.
Removed some duplicated code.
Thanks-to: Hans Verkuil <hverkuil@xs4all.nl> for co-working on this
patch.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:35 -03:00
Mauro Carvalho Chehab
3e7d3e5735 V4L/DVB (4586): Code were preventing saa7111 and saa7118 to work
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:35 -03:00
Mauro Carvalho Chehab
d87edf264a V4L/DVB (4573): Fix: There were some missing breaks at register check routine
Without the breaks, saa7115 were not initializing PLL2.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:34 -03:00
Mauro Carvalho Chehab
66440ccbf2 V4L/DVB (4565): Fix scaling calculus
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:34 -03:00
Mauro Carvalho Chehab
59ba915495 V4L/DVB (4555): Cleanup: removed hardcoded tables
saa7115 module is capable of calculating the proper FIR tables.
However, there were 4 hardcoded tables for the standard resolution.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:34 -03:00
Mauro Carvalho Chehab
66ec1193ba V4L/DVB (4554): Renamed several common structs/functions to saa711x instead of saa7115
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:34 -03:00
Mauro Carvalho Chehab
89f75ffc7e V4L/DVB (4553): Add support for saa7111 and partial support for saa7118
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:34 -03:00
Mauro Carvalho Chehab
96ecfc4edf V4L/DVB (4551): Added register aliases for saa711x registers, instead of using reg numbers
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:34 -03:00
Mauro Carvalho Chehab
236f16d241 V4L/DVB (4550): Make saa7115 to report the complete chipset name
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-26 12:30:34 -03:00
Hans Verkuil
18318e0004 V4L/DVB (4192): Use control helpers for saa7115, cx25840, msp3400.
Replace hardcoded control description by the standard ones supplied
by v4l2-common.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-25 02:05:22 -03:00
Hans Verkuil
c7c0b34c27 V4L/DVB (3712): Fix video input setting of em28xx, use _INT_S_VIDEO_ROUTING in tvp5150
- Use new routing input defines in em28xx-cards.c
- Fix S-Video settings for tvp5150-based cards (input was copied from saa7115
  based cards and worked only because S-Video was selected in the default: case)
- Replace VIDIOC_S_INPUT by VIDIOC_INT_S_VIDEO_ROUTING in em28xx-video.c
- Remove the now obsolete VIDIOC_S_INPUT handler in saa7115.c
- Add VIDIOC_INT_G/S_VIDEO_ROUTING in tvp5150.c
- Add new media/tvp5150.h with the routing defines.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-25 01:57:38 -03:00
Hans Verkuil
b7f8292c96 V4L/DVB (3711): Add support for VIDIOC_INT_S_CRYSTAL_FREQ internal command.
Some saa7115-based cards use a different crystal frequency and a different
audio clock generation. Add a new VIDIOC_INT_S_CRYSTAL_FREQ command to be
able to set these values.
Also change the default APLL setting to 0. It makes no sense to have the
audio clock independent from the video clock, this can lead to audio/video
synchronization problems. Setting this to 0 is also consistent with the old
saa7114.c source and the way the Hauppauge Windows driver sets it.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-25 01:57:36 -03:00
Hans Verkuil
9bc7400a9d V4L/DVB (3692): Keep experimental SLICED_VBI defines under an #if 0
The sliced VBI defines added in videodev2.h are removed since requires
more discussion.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-02 04:56:04 -03:00
Hans Verkuil
1f8f5fa9b7 V4L/DVB (3607): Implement routing command for saa7115.c
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-02 04:54:54 -03:00
Hans Verkuil
013423588a V4L/DVB (3606): Minor layout changes to make it consistent
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-04-02 04:54:51 -03:00
Hans Verkuil
8bf2f8e747 V4L/DVB (3577): Cleanup audio input handling
Cleanup audio input handling in bttv and tvaudio:
- inputs were specified that were never used
- mute was handled as a special input which led to confusing code
- confusing naming made it difficult to see if the setting was for
  i2c or gpio.
The old audiochip.h input names moved to tvaudio.h. Currently this
is used both by tvaudio and msp3400 until the msp3400 implements the
new msp3400-specific inputs.
Detect in bttv the tvaudio and msp3400 i2c clients and use these
client pointers to set the inputs directly instead of broadcasting the
command.
Removed AUDC_SET_INPUT. Now replaced by VIDIOC_S_AUDIO. This will be
replaced again later by the new ROUTING commands.
Removed VIDIOC_G_AUDIO implementations in i2c drivers: this command is
a user level command and not to be used internally. It wasn't called at
all anyway.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-24 16:26:56 -03:00
Mauro Carvalho Chehab
02c17224da V4L/DVB (3522): Fixed a trouble with other PAL standards
V4L2_STD_PAL define is not correct. It specifies only 50Hz PAL standards.
This patch fixes saa7113 color config for other PAL video standards.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-21 08:53:44 -08:00
Mauro Carvalho Chehab
f89982a978 V4L/DVB (3514): SAA7113 doesn't have auto std chroma detection mode
This patch makes chroma standard selection based at possible values,
according with datasheet.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-21 08:53:41 -08:00
Mauro Carvalho Chehab
f5762e441d V4L/DVB (3513): Remove saa711x driver
Now, em28xx uses saa7115 instead of saa711x.
saa7115 driver is capable of handling saa 7113, 7114 and 7115.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-21 08:53:40 -08:00
Hans Verkuil
ecc0b94742 V4L/DVB (3354): Fix maximum for the saturation and contrast controls.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-02-27 00:08:20 -03:00
Mauro Carvalho Chehab
6ac48b4587 V4L/DVB (3408): Included new sliced VBI types to videodev2.h and tvp5150
- Added other sliced VBI types to videodev2.h
- tvp5150 now uses standard V4L2 API codes from videodev2.h
- Implemented VIDIOC_G_SLICED_VBI_CAP for tvp5150. This is
dynamically filled based on defined VDP C-RAM values filled
by the driver.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-23 17:11:05 -02:00
Mauro Carvalho Chehab
f167cb4e6e V4L/DVB (3345): Fixes some bad global variables
- Debug global var is already used inside kernel.
- v4l_dbg now expects the debug var
- global vars inside msp34xx renamed to msp_*

Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-11 19:41:49 -02:00
Panagiotis Issaris
7408187d22 V4L/DVB (3344a): Conversions from kmalloc+memset to k(z|c)alloc
Conversions from kmalloc+memset to k(z|c)alloc.

Signed-off-by: Panagiotis Issaris <takis@issaris.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-11 19:40:56 -02:00
Hans Verkuil
da4ae5a72b V4L/DVB (3280): Added VIDIOC_QUERYCTRL to saa7115
- Added VIDIOC_QUERYCTRL to saa7115

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2006-01-09 15:32:41 -02:00
Hans Verkuil
fac9e89999 V4L/DVB (3278): convert diagnostics over to the new v4l2-common.h macros.
- Convert diagnostics over to the new v4l2-common.h macros.
- deprecated tuner_debug option, the new option is debug.
- renamed cx25840_debug to debug.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2006-01-09 15:32:40 -02:00
Hans Verkuil
c7f3612cdb V4L/DVB (3257): Add missing audiochip.h include.
- Add missing audiochip.h include.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2006-01-09 15:25:45 -02:00
Hans Verkuil
3faeeae483 V4L/DVB (3256): When in radio mode ignore VIDIOC_G_TUNER
- Detect when AUDC_SET_RADIO is called.
- When in radio mode ignore VIDIOC_G_TUNER.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2006-01-09 15:25:44 -02:00
Hans Verkuil
30b54d50f6 V4L/DVB (3254): Don't reprogram the video standard if it is unchanged.
- Don't reprogram the video standard if the new standard
equals the old standard.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2006-01-09 15:25:43 -02:00
Hans Verkuil
3578d3dd0b V4L/DVB (3214): Calculate the saa7115 AMCLK regs instead of using fixed values
- Calculate the audio master clock registers from the actual
frequencies. This simplifies the code and it also prepares
for adding CGC2 support.
- VIDIOC_INT_AUDIO_CLOCK_FREQ now receives an u32 instead of
an enum. It is more generic and actually easier to implement.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2006-01-09 15:25:41 -02:00
Hans Verkuil
21fa715e67 V4L/DVB (3248): Add selected input to saa7115 VIDIOC_LOG_STATUS output.
- Add selected input to VIDIOC_LOG_STATUS output.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2006-01-09 15:25:41 -02:00
Mauro Carvalho Chehab
b060c25f70 V4L/DVB (3123a): remove uneeded #if from V4L subsystem
- some uneeded #if were introduced by a previous patch.
  this patch removes these.

Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2006-01-09 15:25:20 -02:00
Greg Kroah-Hartman
2b48716d1d [PATCH] I2C: Remove .owner setting from i2c_driver as it's no longer needed
Now that i2c_add_driver() doesn't need the module owner to be set by
hand, we can delete it from the drivers.  This patch catches all of the
drivers that I found in the current tree (if a driver sets the .owner by
hand, it's not a problem, just not needed.)

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Cc: Jean Delvare <khali@linux-fr.org>
2006-01-05 22:16:25 -08:00
Laurent Riffard
604f28e2b8 [PATCH] i2c: Drop i2c_driver.{owner,name}, 5 of 11
We should use the i2c_driver.driver's .name and .owner fields
instead of the i2c_driver's ones.

This patch updates the drivers/media/video and usb/media drivers.

Signed-off-by: Laurent Riffard <laurent.riffard@free.fr>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-05 22:16:23 -08:00
Jean Delvare
cde7859bda [PATCH] i2c: Rework client usage count, 2 of 3
Make I2C_CLIENT_ALLOW_USE the default for all i2c clients. It doesn't
hurt if the usage count is actually never used for any given driver,
and allows for nice code simplifications in i2c-core.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-01-05 22:16:22 -08:00