summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/au0828
AgeCommit message (Collapse)Author
2009-08-10v4l: simplify v4l2_i2c_new_subdev and friendsHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Rewrite v4l2_i2c_new_subdev as a simplified version of v4l2_i2c_new_subdev_cfg and remove v4l2_i2c_new_probed_subdev and v4l2_i2c_new_probed_subdev_addr. This simplifies this API substantially. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-07-30merge: http://kernellabs.com/hg/~mkrufky/au0828-fixMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-27au0828: fix typo: dvb uses bulk xfer, dont say isoc in debugMichael Krufky
From: Michael Krufky <mkrufky@kernellabs.com> The au0828-dvb driver uses bulk usb transfers for digital transport, but the debug reports, "iso xfer already running!\n". Fix this to report bulk instead of isoc. Priority: normal Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
2009-06-26au0828: fix i2c for kernels prior to 2.6.26Michael Krufky
From: Michael Krufky <mkrufky@kernellabs.com> Priority: normal Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
2009-06-19Stop defining I2C adapter IDs nobody usesMauro Carvalho Chehab
From: Jean Delvare <khali@linux-fr.org> There is no point in defining I2C adapter IDs when no code is using them. As this field might go away in the future, stop using it when we don't need to. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-05-27au0828: provide module option to disable USB speed checkDevin Heitmueller
From: Devin Heitmueller <dheitmueller@kernellabs.com> Add an au0828 module option that allows a user to override the USB speed check. Intended for advanced users who understand the consequences of trying to use the device with a 12Mbps bus. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
2009-05-27au0828: Don't let device work unless connected to a high speed USB portDevin Heitmueller
From: Devin Heitmueller <dheitmueller@kernellabs.com> The au0828 basically just doesn't work at 12 Mbps. The isoc pipe needs nearly 200 Mbps for analog support, so users would see garbage video, and on the DVB/ATSC side scanning is likely to work but if the user tried to tune it would certainly appear to have failed. It's better to fail explicity up front and tell the user to plug into a USB 2.0 port, than to let the driver load and the user have weird problems with tuning and garbage video. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
2009-05-18merge: http://kernellabs.com/hg/~dheitmueller/au0828-oldkernel-compilefixMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-05-14au0828: get rid of debug printk that was causing compile failuresDevin Heitmueller
From: Devin Heitmueller <dheitmueller@kernellabs.com> Remove a debug printk() line I added which is no longer needed, and happened to be causing compile failures on some earlier kernels in Han's daily compile report. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
2009-05-06au0828: send command to power down tuner when done with analogDevin Heitmueller
From: Devin Heitmueller <dheitmueller@kernellabs.com> Make sure the au0828 issues the command to power down the tuner when the user is done using analog support. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
2009-04-28au0828: fix kernel oops regression on USB disconnect.Devin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> A regression was introduced in hg changeset 33810c734a0d, which resulted in a kernel panic whenever the device was disconnected from USB. The call to 4l2_device_register() was overwriting the pointer for usb_set_intfdata(), so when au0828_usb_disconnect() was called, the usb_get_intfdata() returned a pointer to the v4l2_device instead of the au0828_dev structure. Priority: high Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
2009-04-14backport a few minor cleanupsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-06au0828: fix Kconfig dependanceMauro Carvalho Chehab
From: Alexander Beregalov <a.beregalov@gmail.com> Fix this build error: ERROR: "videobuf_queue_vmalloc_init" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "videobuf_vmalloc_free" [drivers/media/video/au0828/au0828.ko] undefined! ERROR: "videobuf_to_vmalloc" [drivers/media/video/au0828/au0828.ko] undefined! Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-02au0828: reduce reset time for xc5000 to 10msDevin Heitmueller
From: Devin Heitmueller <dheitmueller@kernellabs.com> The xc5000 datasheet indicates that the reset pin only needs to be held low for 10ms. Reduce the value accordingly, which speeds up the firmware load time a bit. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
2009-04-05merge: http://www.linuxtv.org/hg/~hverkuil/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-05merge: http://hg.jannau.net/v4l-dvb/Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-02v4l2-subdev: change s_routing prototypeHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> It is no longer needed to use a struct pointer as argument, since v4l2_subdev doesn't require that ioctl-like approach anymore. Instead just pass the input, output and config (new!) arguments directly. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-04-01au0828: remove explicitly set v4l2_device.name and unused au0828_instanceJanne Grunau
From: Janne Grunau <j@jannau.net> Priority: normal Signed-off-by: Janne Grunau <j@jannau.net> Acked-by: Devin Heitmueller <devin.heitmueller@gmail.com>
2009-04-01au0828: use usb_interface.dev for v4l2_device_registerJanne Grunau
From: Janne Grunau <j@jannau.net> Priority: normal Signed-off-by: Janne Grunau <j@jannau.net> Acked-by: Devin Heitmueller <devin.heitmueller@gmail.com>
2009-03-31au0828: make i2c clock speed per-board configurableDevin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> Setup the i2c clock speed to be definable on a per-board basis. This allows us to explicitly set the clock speed to 30 KHz on the 950q, and also gets rid of code which sets it on a basis of what chip the i2c master is talking to at any given time (which could have caused issues because i2c slaves should never receive commands at a clock higher than their supported clock speed). Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
2009-03-31au0828: better document i2c registersDevin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> Change the #define entries for the i2c registers to be more meaningful, and document the valid values for the registers. Note that this changeset makes *no* functional changes to the code. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
2009-04-01v4l2-common: add explicit v4l2_device pointer as first arg to ↵Hans Verkuil
new_(probed)_subdev From: Hans Verkuil <hverkuil@xs4all.nl> The functions v4l2_i2c_new_subdev and v4l2_i2c_new_probed_subdev relied on i2c_get_adapdata to return the v4l2_device. However, this is not always possible on embedded platforms. So modify the API to pass the v4l2_device pointer explicitly. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-04-01v4l2-subdev: move s_std from tuner to core.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> s_std didn't belong in the tuner ops. Stricly speaking it should be part of the video ops, but it is used by audio and tuner devices as well, so it is more efficient to make it part of the core ops. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-22au0828: fix oops on ARM platform when allocating transfer buffersDevin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> Add missing URB_NO_TRANSFER_DMA_MAP flag, since the use of consistent memory is not permitted for DMA on the ARM platform. Thanks to Paul Thomas <pthomas8589@gmail.com> for providing sample ARM hardware that was experiencing the oops (tested on the at91rm9200 based LinuxStamp). Thanks to David Brownell <david-b@pacbell.net> for providing insight into the ARM memory architecture. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
2009-03-20Kconfig: replace all occurrences of CUSTOMIZE to CUSTOMISEMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> There are several Kconfig items using CUSTOMIZE. Yet, most use the English writing CUSTOMISE. This generates lots of trouble, because people sometimes type the Kbuild item different. Let's standardise every occurrence using the same syntax. The changes were generated by this small shell script: for i in `find linux -type f`; do sed s,CUSTOMIZE,CUSTOMISE,g $i >/tmp/a && mv /tmp/a $i; done Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-19au8522/au0828: Fix Kconfig dependenciesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> au8522 is now dependent of V4L2, as reported by Randy Dunlap <randy.dunlap@oracle.com>: au8522_decoder.c:(.text+0x199898): undefined reference to `v4l2_ctrl_query_fill' au8522_decoder.c:(.text+0x1998b3): undefined reference to `v4l2_ctrl_query_fill' au8522_decoder.c:(.text+0x199944): undefined reference to `v4l2_device_unregister_subdev' au8522_decoder.c:(.text+0x19997c): undefined reference to `v4l2_chip_ident_i2c_client' au8522_decoder.c:(.text+0x199f1e): undefined reference to `v4l2_i2c_subdev_init' Priority: normal CC: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-19au0828: Fix compilation when VIDEO_ADV_DEBUG = nMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> As reported by Kyle McMartin and Randy Dunlap: drivers/media/video/au0828/au0828-video.c:1438: error: 'const struct v4l2_subdev_core_ops' has no member named 'g_register' drivers/media/video/au0828/au0828-video.c:1453: error: 'const struct v4l2_subdev_core_ops' has no member named 's_register' This patch properly implements those two API ioctls only when debug is enabled. Priority: normal CC: Devin Heitmueller <dheitmueller@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-18au0828: fix compilation on kernels 2.6.20 and 2.6.21.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Add missing linux/mm.h include. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-03-18au0828-video: needs linux/version.h for in-kernel buildMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-03-15au0828: finish videodev/subdev conversionDevin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> Per Hans Verkuil <hverkuil@xs4all.nl> instruction, remove the deprecated attach_inform/detach_inform routines, and convert over the i2c calls to subdev calls. Thanks to Hans Verkuil <hverkuil@xs4all.nl> for providing feedback on the au0828 analog support. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
2009-03-15au0828: rename macro for currently non-function VBI supportDevin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> The VBI support or the au0828 has the framework written but it does not yet work. Rename the macro per Mauro's request. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
2009-03-15au0828/au8522: Codingstyle fixesDevin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> Take a pass over all of the au0828/au8522 files and cleanup all the codingstyle issues. This patch does not make *any* functional change to the code. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
2009-03-15au0828: add entry for undefined input typeDevin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> For the sake of completeness, include the "undefined" input type enumeration, even though there is no path that can actually call it. Thanks to Mauro Carvalho Chehab <mchehab@infradead.org> for pointing this out. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
2009-03-15au0828: remove some unneeded bracesDevin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> There were some braces left behind from when there was more code in the block. Remove it. Thanks to Mauro Carvalho Chehab <mchehab@infradead.org> for pointing this out. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
2009-03-15au0828: remove memset calls in v4l2 routines.Devin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> The userland callers are responsible for clearing the output buffers, so remove the unneeded memset calls. Thanks to Mauro Carvalho Chehab <mchehab@infradead.org> for pointing this out. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
2009-03-11au0828: make sure v4l2_device name is uniqueDevin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> Make sure newly created v4l2 devices have a unique name, modeling the logic after the cx18 driver. Thanks to Andy Walls <awalls@radix.net> for pointing out the issue. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
2009-03-11au0828: Convert to use v4l2_device/subdev frameworkDevin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> Convert over to using the new subdev framework for the au0828 bridge. This includes using the new i2c probing mechanism. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
2009-03-11au0828: fix panic on disconnect if analog initialization failedDevin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> If the analog initialization failed to create the video device, we never actually add the entry to the au0828_devlist. Therefore a panic occurs when unregistering the analog subsystem. Make it so we only remove the entry from the list if we added it to the list in the first place. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2009-03-11au0828: properly handle non-existent analog inputsDevin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> It is not valid to look for dev->board.input == NULL to detect an undefined analog configuration section, since it is a member of the struct and not a pointer (hence it will *always* be non-NULL). Do the check based on whether the first input is actually a valid input type instead. Thanks to Michael Krufky <mkrufky@linuxtv.org> for providing sample hardware of various configurations to test with. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2009-03-11au0828: properly handle missing analog USB endpointDevin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> Move the setup of the analog isoc handler into au0828-video.c, so it does not occur if there is not an .input section defined for the board. Also fixes a case where if there is an input section but the board does not actually have analog support, the digital support will continue to work as expected. Thanks to Michael Krufky <mkrufky@linuxtv.org> for providing sample hardware of various configurations to test with. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2009-03-11au0828: make g_chip_ident call work properlyDevin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> Make the g_chip_ident call work for the au0828/au8522. Discovered when testing with the v4l2_compliance tool Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2009-03-11au0828: make register debug lines easier to readDevin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> Make it a little easier to read the debug messages for register read/write operations Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2009-03-11au0828: fix i2c enumeration bugDevin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> There was a bug where enumerating the i2c for devices would result in false positives. The root of the issue was the scanning was using SMBUS_QUICK messages, which are zero length write requests (which our i2c adapter implementation didn't handle). Because we never strobed any bytes onto the bus, the status register would still contain the value from the previous request. Thanks to Michael Krufky <mkrufky@linuxtv.org> and Steven Toth <stoth@linuxtv.org> for providing sample hardware, engineering level support, and testing. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2009-03-11au0828: disable VBI code since it doesn't yet workDevin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> Since the VBI support is not yet working for the au0828, don't advertise the capability or create the /dev/vbi device. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2009-03-11au0828: advertise only NTSC-M (as opposed to all NTSC standards)Devin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> We don't now how to make any variant of NTSC work other than NTSC-M, so don't advertise that we support the other variants. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
2009-03-11au0828: Rework the way the analog video binding occursDevin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> Rework the way boards are managed so that we can change the board description based on the Hauppauge eeprom (modeled after cx88-cards.c). Also, make sure that we don't load the analog stack if there are no analog inputs defined in the board profile. Thanks to Michael Krufky <mkrufky@linuxtv.org> for providing information on the various ways different Hauppauge boards can be configured. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2009-03-11au0828: add analog profile for the HVR-850Devin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> Add the analog parameters to the device profile for the HVR-850 Thanks to Michael Krufky <mkrufky@linuxtv.org> and Steven Toth <stoth@linuxtv.org> for providing sample hardware, engineering level support, and testing. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2009-03-11au0828: workaround a bug in the au0828 i2c handlingDevin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> There is an issue related to the i2c clock for addressing the xc5000. The au0828 chip does not support clock stretching, which the xc5000 makes use of. This results in cases where we silently get back garbage in i2c read operations. To work around this issue until we slow down the i2c clock when talking with that specific device. This was not an issue before we had analog support because we never needed to enumerate the i2c bus, and digital tuning never actually needed to perform read operations against the xc5000. Thanks to Michael Krufky <mkrufky@linuxtv.org> and Steven Toth <stoth@linuxtv.org> for providing sample hardware, engineering level support, and testing. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
2009-03-11au0828: add support for analog functionality in bridgeDevin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> Add support for the analog functionality found in the au0828 bridge Thanks to Michael Krufky <mkrufky@linuxtv.org> and Steven Toth <stoth@linuxtv.org> for providing sample hardware, engineering level support, and testing. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2009-03-10Fix Kbuild MEDIA_TUNER_CUSTOMIZE dependenciesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>