summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/em28xx
AgeCommit message (Collapse)Author
2008-11-15make em28xx aux audio input workMauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> The attached patch makes the em28xx auxillary audio input work. Tested with the HVR-950. em28xx: make auxillary audio input work The tuner audio input was working but the aux input wasn't. Tested with the HVR-950. Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-16Some boards need to specify tuner addressMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-16Add support for the ATI TV Wonder HD 600 USB Remote ControlMauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> Add support for the ATI TV Wonder HD 600 USB Remote Control (required a new keymap) Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> [mchehab@redhat.com: Fix CodingStyle] Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-13em28xx: refactor IR supportMauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> Refactor the em28xx IR support based on the em2860/em2880 and em2874 datasheets. Tested on the HVR-950 (em2883), Pinnacle 800e (em2883), Pinnacle 80e (em2874) using the remote controls that came with those products. Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-16em28xx: Avoid i2c register error for boards without eepromMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-12Fix key repetition with HVR-950 IRMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-12em28xx: experimental support for HVR-950 IRMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-12em28xx: Properly implement poll support for IR'sMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> The first em28xx were based on i2c IR's. However, some newer designs are coming with a polling-based IR. Those are done by reading a register set at em28xx. This patch adds core polling support for those devices. Later patches will add support for some device-specific IR's. This patch adds the same basic IR polling code used by bttv, cx88 and saa7134, and shares the common getkey masks defined at ir-common. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-12Add registration for Pinnacle 80e ATSC tunerMauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> Add registration for Pinnacle 80e ATSC tuner Register the em2874 based Pinnacle 80e device. Note that support for this device also requires the new drx-j driver (which is not available yet) Thanks for Ray Lu from Empia for providing the em2874 datasheet. Thanks to Joerg Schindler from Pinnacle for providing sample hardware. Thanks to Rainer Miethling from Pinnacle for providing engineering support. Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-12Properly support capture start on em2874Mauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> Properly support capture start on em2874 The transport stream enable register moved in the em2874, so make it work properly. Thanks for Ray Lu from Empia for providing the em2874 datasheet. Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-12Don't load em28xx audio module for digital-only devicesMauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> Don't load em28xx audio module for digital-only devices Rework the logic so that the em28xx-alsa module does not get loaded for devices that don't support analog audio (such as the em2874) Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-12Handle changes to endpoint layout in em2874Mauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> Handle changes to endpoint layout in em2874 Empia moved around their endpoint configuration in newer chips, so accommodate the changes Thanks for Ray Lu from Empia for providing the em2874 datasheet. Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-12Fix possible null pointer dereference in info messageMauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> Fix possible null pointer dereference in info message Fix case where we could end up dereferencing a NULL pointer if dev->vdev or dev->vbi_dev were not set properly. Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-12Skip reading eeprom in newer Empia devicesMauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> Skip reading eeprom in newer Empia devices Empia switched to a 16-bit addressable eeprom in newer devices. While we could certainly write a routine to read the eeprom, there is nothing of use in there that cannot be accessed through registers, and there is the risk that we could corrupt the eeprom (since a 16-bit read call is interpreted as a write call by 8-bit eeproms). So just be safe and bail out of the function. Thanks for Ray Lu from Empia for providing the em2874 datasheet. Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-12Support different GPIO/GPO registers for newer devicesMauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> Support different GPIO/GPO registers for newer devices Empia moved the location of the GPIO/GPO registers in newer devices. Add the ability to specify the relocated registers (including caching of register contents). Thanks for Ray Lu from Empia for providing the em2874 datasheet. Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-12Remember chip id of devices at initializationMauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> Remember chip id of devices at initialization When setting up the device, remember the chip id, so we can control behavior in the future without having to read the register continuously. Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-12Add a EM28XX_NODECODER option to the list of available decodersMauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> Add a EM28XX_NODECODER option to the list of available decoders Add a EM28XX_NODECODER option to the list of available decoders. This option becomes important for devices that do not have analog support. Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-12Remove unused variable from em28xx-audio.cMauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> Remove unused variable from em28xx-audio.c Fix warning for unused "ret" variable Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-12Add chip id for em2874 to list of known chipsMauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> Add em2874 chip id Add chip id for em2874 to list of known chips Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-07Properly handle error messages during alsa registeringMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-30V4L: struct device - replace bus_id with dev_name(), dev_set_name()Mauro Carvalho Chehab
From: Kay Sievers <kay.sievers@vrfy.org> This patch is part of a larger patch series which will remove the "char bus_id[20]" name string from struct device. The device name is managed in the kobject anyway, and without any size limitation, and just needlessly copied into "struct device". To set and read the device name dev_name(dev) and dev_set_name(dev) must be used. If your code uses static kobjects, which it shouldn't do, "const char *init_name" can be used to statically provide the name the registered device should have. At registration time, the init_name field is cleared, to enforce the use of dev_name(dev) to access the device name at a later time. We need to get rid of all occurrences of bus_id in the entire tree to be able to enable the new interface. Please apply this patch, and possibly convert any remaining remaining occurrences of bus_id. We want to submit a patch to -next, which will remove bus_id from "struct device", to find the remaining pieces to convert, and finally switch over to the new api, which will remove the 20 bytes array and does no longer have a size limitation. Thanks, Kay Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-Off-By: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-19v4l: use video_device.num instead of minor in video%dHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The kernel number of a v4l2 node (e.g. videoX, radioX or vbiX) is now independent of the minor number. So instead of using the minor field of the video_device struct one has to use the num field: this always contains the kernel number of the device node. I forgot about this when I did the v4l2 core change, so this patch converts all drivers that use it in one go. Luckily the change is trivial. Priority: high Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> CC: michael@mihu.de CC: mchehab@infradead.org CC: corbet@lwn.net CC: luca.risolia@studio.unibo.it CC: isely@pobox.com CC: pe1rxq@amsat.org CC: royale@zerezo.com CC: mkrufky@linuxtv.org CC: stoth@linuxtv.org
2008-10-11em28xx-dvb: dvb_init() code factorizationThierry MERLE
From: Thierry MERLE <thierry.merle@free.fr> In dvb_init(), case EM2880_BOARD_TERRATEC_HYBRID_XS: case EM2880_BOARD_KWORLD_DVB_310U: can be put in the same case than EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900 since they do the same thing. Priority: normal Signed-off-by: Thierry MERLE <thierry.merle@free.fr>
2008-10-11merge: http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-devMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-04merge: http://linuxtv.org/hg/~dougsland/em28xx-hvrMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-04v4l: disconnect kernel number from minorHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The v4l core creates four different video devices (video, vbi, radio, vtx) and each has its own range of minor numbers. However, modern devices keep increasing the number of devices that they need so a maximum of 64 video devices will not be enough in the future. In addition this scheme makes it very hard to add new device types. This patch disconnects the kernel number allocation (e.g. video0, video1, etc.) from the actual minor number (just pick the first free minor). This allows for much more flexibility in the future. However, it does require the use of udev. For those who cannot use udev a new CONFIG option was created that changes the allocation scheme back to the old behavior. Thanks to Greg KH for suggesting this approach during the 2008 LPC. In addition, several bugs were fixed in the ivtv and cx18 drivers: these drivers try to allocate specific kernel numbers but that scheme contained a bug which caused what should have been e.g. video17 to appear as e.g. video2. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-09-30em28xx: Add detection for K-WORLD DVB-T 310UDouglas Schilling Landgraf
From: Darron Broad <darron@kewl.org> Correct firmware type to MTS Correct audio routing for composite/s-video Add DVB-T detection. This patch uses the eeprom hash method for detection as the vendor/product ids are also used for the DIGIVOX_AD. This may be a clone of the same product. Explanatory text has been added prior to the hask look-up in anticipation that it may help others. The following has been tested to work: Analogue TV (PAL-I) Composite In DVB-T (UK Crystal Palace) USB AUDIO The following has not been tested but probably works: S-Video In Priority: high Signed-off-by: Darron Broad <darron@kewl.org> Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org>
2008-09-28em28xx: HVR-900 B3C0 - fix audio clicking issueDouglas Schilling Landgraf
From: Wiktor Grebla <greblus@gmail.com> Fixed audio clicking problem which could be heard when using analog tv or composite input Priority: high Signed-off-by: Wiktor Grebla <greblus@gmail.com> Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org>
2008-09-12convert tuner drivers to use dvb_frontend->callbackMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Priority: normal Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-09-16Use correct XC3028L firmware for AMD ATI TV Wonder 600Michael Krufky
From: Devin Heitmueller <devin.heitmueller@gmail.com> The AMD ATI TV Wonder 600 has an XC3028L and *not* an XC3028, so we need to load the proper firmware to prevent the device from overheating. Priority: high Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-09-08em28xx: Fix and add some validationsDouglas Schilling Landgraf
From: Douglas Schilling Landgraf <dougsland@linuxtv.org> Fixed and Added some validations Priority: high Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org>
2008-09-08em28xx-cards: Add vendor/product id for EM2820_BOARD_PROLINK_PLAYTV_USB2Douglas Schilling Landgraf
From: Douglas Schilling Landgraf <dougsland@linuxtv.org> Added vendor/product id for EM2820_BOARD_PROLINK_PLAYTV_USB2 Priority: high Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org>
2008-09-08em28xx-cards: Remove duplicate entry (EM2800_BOARD_KWORLD_USB2800)Douglas Schilling Landgraf
From: Douglas Schilling Landgraf <dougsland@linuxtv.org> Removed duplicated entry for EM2800_BOARD_KWORLD_USB2800 Priority: high Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org>
2008-09-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>
2008-09-04em28xx-audio: fix memory leakMauro Carvalho Chehab
From: Douglas Schilling Landgraf <dougsland@linuxtv.org> Free allocated memory Priority: high Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-09-04v4l-dvb: fix assorted sparse warningsHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Fix sparse warnings. None are serious, but cutting down on these helps find future serious sparse warnings/errors. Redid the av7710.c patch based on a suggestion by Oliver Endriss. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-08-04merge: http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-bklMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-08-01set mts_firmware for em2882 based Pinnacle Hybrid ProMauro Carvalho Chehab
From: Eugeniy Meshcheryakov <eugen@debian.org> Pinnacle Hybrid Pro (2304:0226) requires mts_firmware flag to have any sound. Without this flag it is useful only for watching silent movies. Signed-off-by: Eugeniy Meshcheryakov <eugen@debian.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-30v4l: move BKL down to the driver level.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The BKL is now moved from the video_open function in v4l2-dev.c to the various drivers. It seems about a third of the drivers already has a lock of some sort protecting the open(), another third uses video_exclusive_open (yuck!) and the last third required adding the BKL in their open function. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-27em28xx: Rename #define for Compro VideoMate ForYou/StereoMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> There are two videomate boards supporded by em28xx. The names are almost identical. This patch renames one of such entries to something else. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-27em28xx: AMD ATI TV Wonder HD 600 entry at cards struct is duplicatedMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Thanks to "Devin Heitmueller" <devin.heitmueller@gmail.com> for pointing this issue. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-27em28xx: HVR-950 entry is duplicated.Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Thanks to "Devin Heitmueller" <devin.heitmueller@gmail.com> for pointing this issue. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-27em28xx-cards: Add Compro VideoMate ForYou/Stereo modelMauro Carvalho Chehab
From: Vitaly Wool <vital@embeddedalley.com> Added Compro VideoMate ForYou/Stereo model (analog only) Signed-off-by: Vitaly Wool <vital@embeddedalley.com> [dougsland@gmail.com: Solved conflicts with v4l-dvb devel tree] Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com> [mchehab@infradead.org: Need to fix some merge conflicts] Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-27em28xx-cards: New supported IDs for analog modelsMauro Carvalho Chehab
From: Douglas Schilling Landgraf <dougsland@gmail.com> - New supported IDs for analog models (Based on Markus Rechberger <mrechberger@gmail.com> version of em28xx driver) - Validation field for new em28xx boards. Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com> [mchehab@infradead.org: Need to fix some merge conflicts] Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-27em28xx-cards: Add GrabBeeX+ USB2800 modelMauro Carvalho Chehab
From: Aron Szabo <aron@aron.ws> Added GrabBeeX+ USB2800 model (analog only) Signed-off-by: Aron Szabo <aron@aron.ws> Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com> [mchehab@infradead.org: Need to fix some merge conflicts] Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-27merge: http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-videodevMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-26v4l2-dev: remove unused type and type2 field from video_deviceHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The type and type2 fields were unused and so could be removed. Instead add a vfl_type field that contains the type of the video device. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-21videodev: move all ioctl callbacks to a new v4l2_ioctl_ops structHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> All ioctl callbacks are now stored in a new v4l2_ioctl_ops struct. Drivers fill in a const struct v4l2_ioctl_ops and video_device just contains a const pointer to it. This ensures a clean separation between the const ops struct and the non-const video_device struct. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-23v4l: remove obsolete audiochip.hHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Converted the last users of audiochip.h to the v4l2-chip-ident.h header and remove the now unused audiochip.h header. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-20videodev: move some functions from v4l2-dev.h to v4l2-common.h or v4l2-ioctl.hHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The functions in a header should not belong to another module. The prio functions belong to v4l2-common.c, so move them to v4l2-common.h. The ioctl functions belong to v4l2-ioctl.c, so create a new v4l2-ioctl.h header and move those functions to it. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>