summaryrefslogtreecommitdiff
path: root/linux/drivers
AgeCommit message (Collapse)Author
2008-11-21bttv: fix some entries on Phytec boards and add missing onesMauro Carvalho Chehab
From: Dirk Heer <D.Heer@phytec.de> This Patch does modify the bttv-cards.c and bttc.h so that the driver supports VD-011, VD-012, VD-012-X1 and VD-012-X2 Framegrabber from Phytec Messtechnik GmbH. Priority: normal Signed-off-by: Dirk Heer <d.heer@phytec.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-20em28xx: fix a regression caused by changeset 9630Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> If removing and reiserting the driver on some devices, tuner type will be unset at the second time. This patch fixes this issue. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-20em28xx: devices with xc2028/3028 don't have tda9887Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> This patch cleans up the entries of xc2028/3028, since those devices don't need or use a tda9887. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-20em28xx: fix Pixelview PlayTV board entryMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Pixelview uses a Sigmatel stac codec. It has an external line out pin, connected to AC97_MASTER_VOL. It also provides I2S output, but using a different volume for this (AC97_MONO_VOL). Now that AC97 setup is finally fixed, such boards will work better. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-20Allow opening more than one output at the same timeMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Some devices use more than one AC97 outputs. This patch allows such devices to properly work. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-20em28xx: Add detection of Sigmatel Stac97xx series of AC97 devicesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-20em28xx: allow specifying audio outputMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Some boards use different AC97 setups for output. This patch adds the capability of specifying the output to be used. Currently, only one output is selected, but the better is to allow user to select it via a mixer, on alsa driver. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-20em28xx: Fix a stupid cut-and-paste errorMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-20em28xx: fix a race condition with haldMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Newer versions of hald tries to open it to call QUERYCAP. Due to the lack of a proper locking, it is possible to open the device before it finishes initialization. This patch adds a lock to avoid this risk, and to protect the list of em28xx devices. While here, remove the uneeded BKL lock. Priority: high Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-14Fixed typo in sizeof() causing NULL pointer OOPSMauro Carvalho Chehab
From: Oldrich Jedlicka <oldium.pro@seznam.cz> Signed-off-by: Oldřich Jedlička <oldium.pro@seznam.cz> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-20merge: http://linuxtv.org/hg/~anttip/af9015Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-20merge: http://linuxtv.org/hg/~pinchartl/uvcvideoMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-20Convert the calls that write the i2c clock register over to the newMauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> em28xx_write_reg() function that allows for or'ing bits Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-20Introduce a new function that writes to a single register. This isMauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> useful because the vast majority of register writes are a single register, and this format permits or'ing register value bits together. Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-20merge: patches manually applied on another machineMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-20em28xx: improve AC97 handlingMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> AC97 devices provide several input and outputs. However, before this patch, em28xx device weren't properly allowing the usage of ac97 possible combinations. Also, several input volumes were left untouched, instead of making sure that the volumes were set on mute state. This patch improves support for ac97 devices by allowing to use any inputs, and making sure that unused inputs are set on mute state. Yet, some work is still needed to select the AC97 output. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-20em28xx: merge AC97 vendor id's into a single varMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> This makes easier to identify vendor ID, since AC97 vendors are generally identified by 3 bytes. The remaining byte is used by the vendor to identify its devices. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-19em28xx: Improve audio handlingMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> This patch properly implements audio handling on em28xx. Before this patch, it was assumed that every device has an Empia 202 audio chip. However, this is not true. After this patch, specific AC97 chipset setup and configurations can be done. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-19em28xx: replace magic numbers to something more meaningfulMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> audio mux entries were described by 0 and 1 magic numers. Use an enum alias for each entry type. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-19em28xx: remove two amux entries used only on one cardMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> This patch parepares for an audio refactor patch that auto-detects ac97 chips. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-19Make use of the em28xx chip configuration register to determine whetherMauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> we have AC97 audio, I2S audio, or no audio support at all. Thanks for Ray Lu from Empia for providing the em2860/em2880 datasheet. Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-19Avoid having two concurrent control URB'sMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Now that we have a polling task for IR, there's a race condition, since IR can be polling while other operations are being doing. Also, we are now sharing the same urb_buf for both read and write control urb operations. So, we need a mutex. Thanks to Davin Heitmueller <devin.heitmueller@gmail.com> for warning me. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-19radio-mr800: fix unplugMauro Carvalho Chehab
From: Alexey Klimov <klimov.linux@gmail.com> This patch fixes problems(kernel oopses) with unplug of device while it's working. Patch adds disconnect_lock mutex, changes usb_amradio_close and usb_amradio_disconnect functions and adds a lot of safety checks. Signed-off-by: Alexey Klimov <klimov.linux@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-20new email addressMauro Carvalho Chehab
From: Jelle Foks <jelle-v4l@foks.us> Please accept this patch to refer to my new email address Priority: normal Signed-off-by: Jelle Foks <jelle@foks.us> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-18em28xx: avoid allocating/dealocating memory on every control urbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Before this patch, every register setup on em28xx were dynamically allocating a temporary buffer for control URB's to be handled. To avoid this ping-pong, use, instead a pre-allocated buffer. Also, be sure that read control URB's also use the buffer, instead of relying on a stack buffer. Priority: high Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-18em28xx: Avoid memory leaks if registration failsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> em28xx_init_dev() has some error conditions that are not properly de-allocating dev var, nor freeing the device number for a future usage. Priority: high Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-18Add em2750 to the list of known em28xx chip ids.Mauro Carvalho Chehab
From: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-17Remove the previous register namesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Previously, AC97 registers were named as if they were part of em28xx device, generating some confusion. Replace such names for a more general naming convention. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-17Add AC97 registers found on em28xx devicesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-17uvcvideo: Fix printk badness when printing ioctl namesLaurent Pinchart
From: Laurent Pinchart <laurent.pinchart@skynet.be> Add a trailing newline character after calling v4l_printk_ioctl() to avoid messing the kernel log up and merge the uvc_v4l2_ioctl message with the ioctl name. Priority: normal Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
2008-11-17af9015: Add support for the Digittrade DVB-T USB Stick remoteAntti Palosaari
From: Alain Kalker <miki@dds.nl> Adds support for the Digittrade DVB-T USB Stick remote. As the Digittrade USB stick identifies itself as a generic Afatech AF9015 device, the remote cannot be autodetected. To enable it, add the following to /etc/modprobe.d/dvb-usb-af9015 or /etc/modprobe.conf: options dvb-usb-af9015 remote=4 Priority: normal Signed-off-by: Alain Kalker <miki@dds.nl> Signed-off-by: Antti Palosaari <crope@iki.fi>
2008-11-16Add chip ID's for em2820 and em2840Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-16merge: http://linuxtv.org/hg/~pb/v4l-dvb/Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-15Make dib0700 remote control support work with firmware v1.20Patrick Boettcher
From: Devin Heitmueller <devin.heitmueller@gmail.com> The format for reading the IR controller changed in firmware 1.20. It now provides the events on bulk endpoint 1 instead of using a control request. Support the new format, providing backward compatibility for users who might be using older firmware. Thanks to Patrick Boettcher <patrick.boettcher@desy.de> for providing the required information on how the version 1.20 firmware works. Priority: high Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
2008-11-14Fix a small mistake on the previous patchMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-14tvaudio: fix OOPS when controlling bass/trebleMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Not all tvaudio chips allow controlling bass/treble. So, the driver has a table with a flag to indicate if the chip does support it. Unfortunately, the handling of this logic were broken for a very long time (probably since the first module version). Due to that, an OOPS were generated for devices that don't support bass/treble. This were the resulting OOPS message before the patch, with debug messages enabled: tvaudio' 1-005b: VIDIOC_S_CTRL BUG: unable to handle kernel NULL pointer dereference at 00000000 IP: [<00000000>] *pde = 22fda067 *pte = 00000000 Oops: 0000 [#1] SMP Modules linked in: snd_hda_intel snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_hwdep snd soundcore tuner_simple tuner_types tea5767 tuner tvaudio bttv bridgebnep rfcomm l2cap bluetooth it87 hwmon_vid hwmon fuse sunrpc ipt_REJECT nf_conntrack_ipv4 iptable_filter ip_tables ip6t_REJECT xt_tcpudp nf_conntrack_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables x_tables ipv6 dm_mirrordm_multipath dm_mod configfs videodev v4l1_compat ir_common 8139cp compat_ioctl32 v4l2_common 8139too videobuf_dma_sg videobuf_core mii btcx_risc tveeprom i915 button snd_page_alloc serio_raw drm pcspkr i2c_algo_bit i2c_i801 i2c_core iTCO_wdt iTCO_vendor_support sr_mod cdrom sg ata_generic pata_acpi ata_piix libata sd_mod scsi_mod ext3 jbdmbcache uhci_hcd ohci_hcd ehci_hcd [last unloaded: soundcore] Pid: 15413, comm: qv4l2 Not tainted (2.6.25.14-108.fc9.i686 #1) EIP: 0060:[<00000000>] EFLAGS: 00210246 CPU: 0 EIP is at 0x0 EAX: 00008000 EBX: ebd21600 ECX: e2fd9ec4 EDX: 00200046 ESI: f8c0f0c4 EDI: f8c0f0c4 EBP: e2fd9d50 ESP: e2fd9d2c DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process qv4l2 (pid: 15413, ti=e2fd9000 task=ebe44000 task.ti=e2fd9000) Stack: f8c0c6ae e2ff2a00 00000d00 e2fd9ec4 ebc4e000 e2fd9d5c f8c0c448 00000000 f899c12a e2fd9d5c f899c154 e2fd9d68 e2fd9d80 c0560185 e2fd9d88 f8f3e1d8 f8f3e1dc ebc4e034 f8f3e18c e2fd9ec4 00000000 e2fd9d90 f899c286 c008561c Call Trace: [<f8c0c6ae>] ? chip_command+0x266/0x4b6 [tvaudio] [<f8c0c448>] ? chip_command+0x0/0x4b6 [tvaudio] [<f899c12a>] ? i2c_cmd+0x0/0x2f [i2c_core] [<f899c154>] ? i2c_cmd+0x2a/0x2f [i2c_core] [<c0560185>] ? device_for_each_child+0x21/0x49 [<f899c286>] ? i2c_clients_command+0x1c/0x1e [i2c_core] [<f8f283d8>] ? bttv_call_i2c_clients+0x14/0x16 [bttv] [<f8f23601>] ? bttv_s_ctrl+0x1bc/0x313 [bttv] [<f8f23445>] ? bttv_s_ctrl+0x0/0x313 [bttv] [<f8b6096d>] ? __video_do_ioctl+0x1f84/0x3726 [videodev] [<c05abb4e>] ? sock_aio_write+0x100/0x10d [<c041b23e>] ? kmap_atomic_prot+0x1dd/0x1df [<c043a0c9>] ? enqueue_hrtimer+0xc2/0xcd [<c04f4fa4>] ? copy_from_user+0x39/0x121 [<f8b622b9>] ? __video_ioctl2+0x1aa/0x24a [videodev] [<c04054fd>] ? do_notify_resume+0x768/0x795 [<c043c0f7>] ? getnstimeofday+0x34/0xd1 [<c0437b77>] ? autoremove_wake_function+0x0/0x33 [<f8b62368>] ? video_ioctl2+0xf/0x13 [videodev] [<c048c6f0>] ? vfs_ioctl+0x50/0x69 [<c048c942>] ? do_vfs_ioctl+0x239/0x24c [<c048c995>] ? sys_ioctl+0x40/0x5b [<c0405bf2>] ? syscall_call+0x7/0xb [<c0620000>] ? cpuid4_cache_sysfs_exit+0x3d/0x69 ======================= Code: Bad EIP value. EIP: [<00000000>] 0x0 SS:ESP 0068:e2fd9d2c Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-13tvaudio: Improve debug msg by printing something more humanMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-13tvaudio: Improve comments and remove a unneeded prototypeMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-13Avoid writing outside shadow.bytes[] arrayMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> There were no check about the limits of shadow.bytes array. This offers a risk of writing values outside the limits, overriding other data areas. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-13tvaudio: use a direct reference for chip descriptionMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Instead of storing the pointer for the proper entry at chip description table, the driver were storing an indirect reference, by using an index. Better to reference directly the data. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-13af9015: don't reconnect device in USB-busAntti Palosaari
From: Jose Alberto Reguero <jareguero@telefonica.net> Don't reconnect device in the USB-bus. Reconnect command was not executed every time by device firmware and that causes harm. Reconnection is not needed so remove it. Priority: high Signed-off-by: Jose Alberto Reguero <jareguero@telefonica.net> Signed-off-by: Antti Palosaari <crope@iki.fi>
2008-11-13tvaudio: update initial commentsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> A driver used on several bttv boards since 2000 is not experimental anymore ;) Remove it from the comments. While there, update copyrights addind a quick note about the "recent" updates since 2005. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-13tvaudio: add additional logic to avoid OOPSMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> This patch checks for volume, bass, treble, set mode and get mode callbacks before actually enabling the code that would use them. Instead of aborting the driver for load, this patch will allow it to load with a reduced number of functionatities. This prevents OOPS if some board entry is missing a needed callback. Priority: high Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-13tvtime: avoid OOPS at generic_checkmode()Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> generic_checkmode() were called, via a callback, for some tvaudio chips. There's just one callback code used on all those boards. So, it makes no sense on keeping this as a callback. Since there were some OOPS reported on tvaudio on kerneloops.org, this patch removes this callback, adding the code at the only place were it is called: inside chip_tread. A flag were added to indicate the need for a kernel thread to set stereo mode on cards that needs it. Priority: high Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-13tvaudio: cleanup - group all callbacks togetherMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-13tvaudio: instead of using a magic number, use ARRAY_SIZEMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Also, the default standard is the first one. So, fix the comment at the array. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-13tvaudio: Make sure that we don't overflow name bufferMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-13tvaudio: fix a memory leakMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-13drivers/media: use ARRAY_SIZEMauro Carvalho Chehab
From: Julia Lawall <julia@diku.dk> ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type or the size of its first element. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @i@ @@ @depends on i using "paren.iso"@ type T; T[] E; @@ - (sizeof(E)/sizeof(E[...])) + ARRAY_SIZE(E) @depends on i using "paren.iso"@ type T; T[] E; @@ - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-14usb vendor_ids/product_ids are __le16Mauro Carvalho Chehab
From: Harvey Harrison <harvey.harrison@gmail.com> Noticed by sparse: drivers/media/dvb/dvb-usb/af9015.c:756:25: warning: restricted __le16 degrades to integer drivers/media/dvb/dvb-usb/af9015.c:744:28: warning: restricted __le16 degrades to integer Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>