Age | Commit message (Collapse) | Author |
|
From: Mike Isely <isely@pobox.com>
These changes implement correct audio routing for radio mode on a
24xxx device.
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Mike Isely <isely@pobox.com>
Report and set correctly converted frequency to/from a V4L2 app.
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Mike Isely <isely@pobox.com>
Frequency units in V4L2 are apparently different when in radio mode
compared to tv mode. Why? Who knows. This change adapts the driver
appropriately - so that internally we always only deal in Hz and don't
have to muck with craziness like this.
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Mike Isely <isely@pobox.com>
A conversion from Hz to V4L frequency units was accidentally removed
by an earlier change. Restore it.
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Mike Isely <isely@pobox.com>
We can't allocate v4l device structures in a block, since the v4l core
governs when each device actually gets freed. This bug was introduced
as part of the core radio implementation. Fix it.
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Mike Isely <isely@pobox.com>
Support specification of vbi and radio device minor numbers in a
manner similar to the video device minor number.
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Mike Isely <isely@pobox.com>
Ensure we don't accidentally broadcast the standard while in radio mode.
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Mike Isely <isely@pobox.com>
The initial radio implementation used different units for tuning when
in radio mode. This changes everything to Hz.
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Mike Isely <isely@pobox.com>
Use separate enum for get/store of minor number; we want pvr2_config
to go away eventually and since it really means something different,
don't use it here
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Mike Isely <isely@pobox.com>
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Pantelis Koukousoulas <pakt223@freemail.gr>
The "main" V4L2 interface patch. This is yet very incomplete, incorrect and
probably inappropriate for inclusion as-is, but at least with this I 'm able
to tune and play radio through a V4L2 program (pvr-radio.c, a "thumb" version
of ivtv-radio.c with just the essentials).
Therefore, it kinda gives an idea of what is needed to support this, hm,
interface (partly used also by e.g., kradio). Please point out any mistakes
on this code. I 'm sure I 'm messing up some struct initialization somewhere
but currently I 'm too lazy to actually think this through until I complete
the functionality (e.g., handle the VIDIOC_S_STD, ENUMINPUT, etc ioctls
appropriately).
--Pantelis
Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr>
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Pantelis Koukousoulas <pakt223@freemail.gr>
Add (and expose) a new function, pvr2_channel_check_stream_no_lock(), in
pvrusb2-context.c. This is hopefully the last V4L2 interface related patch
to change anything outside pvrusb2-v4l2.c.
We need this to implement the open() for the radio device. The reason is
that within the *enter_context() section of open() we need to ensure nobody
is streaming and if we cannot, we should cleanup after ourselves and return
-EBUSY. We cannot just use claim_stream() because
1) That would cause a deadlock trying to re-acquire the context lock
2) We only need to ensure that nobody is streaming. We don't need to
actually acquire the stream.
Again, this is a kinda ugly patch. Feel free to improve.
Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr>
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Pantelis Koukousoulas <pakt223@freemail.gr>
This is the first patch in preparation of the V4L2/IVTV radio interface.
It does away with the assumption of only one minor per device. It also
adds a file to show the radio minor as well. This can be useful for a
program like pvr-radio.c (when it grows up), since this way it can search
for the minor of the /dev/radioX device it opened and use the video minor
of the same driver instance to get to the actual stream.
The implementation looks kinda ugly. Feel free to improve (that is the
reason behind separate patches anyway).
--Pantelis
Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr>
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Pantelis Koukousoulas <pakt223@freemail.gr>
In the previous patch we exploited the get_{min,max}_value facility to adjust
min/max allowable frequencies on the fly, depending on tuner mode.
Unfortunately, this facility was not used inside the *sym_to_val() function
that translates what we echo to sysfs, which means we got an -ERANGE despite
asking for a frequency between what we read to be min/max.
This patch corrects this small omission.
--Pantelis
Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr>
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Pantelis Koukousoulas <pakt223@freemail.gr>
This is the logic that
a) Ensures /sys/class/pvrusb2/sn-*/ctl_frequency/{max,min}_val are
"automagically" reset to sane values on each mode change.
b) Allows tuning to a radio frequency by something like:
echo `perl -e "print int(94.9*16000 + 0.5)"` \
> /sys/class/pvrusb2/sn-*/ctl_input/cur_val
The trick was to take advantage of the already existing .get_{min,max}_value
function pointers in pvr2_ctrl, to "dynamically override" the hardcoded values
for min/max frequency at runtime.
For a moment I thought to dispose of the hardcoded MIN/MAX_FREQ and use the
hirange/lowrange fields of the v4l2_tuner struct instead, but then I see that
tuner-core.c kinda hardcodes these as well, so I decided to not bother.
--Pantelis
Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr>
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Pantelis Koukousoulas <pakt223@freemail.gr>
This is the logic that supports switching modes via e.g.,
echo radio > /sys/class/pvrusb2/sn-*/ctl_input/cur_val.
To do the mode switching we need to a) broadcast AUDC_SET_RADIO and
b) issue the CX2341X_ENC_MUTE_VIDEO command to the encoder. The first is
done by adding a new pvr2_i2c_op and having it trigger on input change,
the second by adding this command in pvr2_encoder_start() and requesting
an encoder restart on input change by setting stale_subsys_mask appropriately.
The clues about AUDC_SET_RADIO and CX2341X_ENC_MUTE_VIDEO were kindly provided
by Hans Verkuil on the pvrusb2 mailing list. The idea to implement mode
switching this way (on input change) is due to Mike Isely.
Why AUDC_SET_RADIO/VIDIOC_S_STD are used for switching? I can 't be sure, but
I think this can be traced to a cornell student being the first to implement
radio support in ivtv "as a different standard". I think the rest just evolved
from there (it 's in the ivtv ML archives).
--Pantelis
Signed-off-by: Pantelis Koukousoulas <pakt223@freemail.gr>
Signed-off-by: Mike Isely <isely@pobox.com>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Basic changes:
- replaced i2c_bit_del_bus() to i2c_del_adapter();
- Fixed MODULE_AUTHOR on ov7670
- Updates on drivers not maintained on this tree: i2c-id.h and sound/*
kernel-sync:
drivers/media/dvb/pluto2/pluto2.c | 8 ++++----
drivers/media/video/bt8xx/bttv-i2c.c | 6 +-----
drivers/media/video/cx88/cx88-core.c | 2 +-
drivers/media/video/cx88/cx88-vp3054-i2c.c | 2 +-
drivers/media/video/ov7670.c | 2 +-
drivers/media/video/vino.c | 2 +-
drivers/media/video/zoran_card.c | 2 +-
include/linux/i2c-id.h | 18 ++++++------------
sound/pci/bt87x.c | 4 ++--
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Juan Pablo Sormani <sorman@gmail.com>
updated patch against latest master:
Signed-off-by: Juan Pablo Sormani <sorman@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: David Brownell <david-b@pacbell.net>
- CAFE_CCIC needs to depend on PCI, else "allyesconfig" breaks
on systems without PCI
- em28xx-video can't udelay(2500) else "allyesconfig" breaks
on systems that refuse to spin that long (I saw it on ARM)
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
One test with vivi driver were comitted together by mistake;
The whitespace identation were wrong at the previous patch.
kernel-sync:
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Tobias Klauser <tklauser@distanz.ch>
The patch removes unneeded void * casts for the following (void *) pointers:
- struct file: private_data
- struct dvb_device: priv
- struct dvb_demux: priv
- struct dvb_adapter: priv
The patch also contains some whitespace and coding style cleanups in the
relevant areas.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Jean Delvare <khali@linux-fr.org>
WARNING: drivers/media/video/cx88/cx88xx.o - Section mismatch:
reference to .init.text: from .text between 'cx88_card_setup'
(at offset 0x68c) and 'cx88_risc_field'
Caused by leadtek_eeprom() being declared __devinit and called from
a non-devinit context.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
include/media/ir-common.h:78: error: field 'work' has incomplete type
drivers/media/common/ir-functions.c: In function 'ir_rc5_timer_end':
drivers/media/common/ir-functions.c:301: error: 'jiffies' undeclared (first use in this function)
drivers/media/common/ir-functions.c:301: error: (Each undeclared identifier is reported only once)
drivers/media/common/ir-functions.c:301: error: for each function it appears in.)
drivers/media/common/ir-functions.c:347: error: 'HZ' undeclared (first use in this function)
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Antti Seppälä <ajhseppa@niksula.hut.fi>
This patch changes the initialization of alps tdee4 tuner in
flexcop-fe-tuner.c to match what is used in the old driver that was
written specifically for Cablestar cards by Patrick Boettcher. This
patch should make Cablestar2 work again with recent dvb drivers without
breaking other stv0297 based cards.
Signed-off-by: Antti Seppälä <ajhseppa@niksula.hut.fi>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
|
|
From: Mario Rossi <mariofutire@googlemail.com>
Second part of the patch to make the autosearch work again with DiB3000P/MC.
Signed-off-by: Mario Rossi <mariofutire@googlemail.com>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
|
|
From: Akinobu Mita <akinobu.mita@gmail.com>
ioremap() is called twice to same resource.
The returen value of first one is not error-checked.
second one is complely ignored.
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Akinobu Mita <akinobu.mita@gmail.com>
The return value of kthread_run() should be checked by IS_ERR().
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Akinobu Mita <akinobu.mita@gmail.com>
The return value of kthread_run() should be checked by IS_ERR().
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Akinobu Mita <akinobu.mita@gmail.com>
Freeing data including list_head in list_for_each() is not safe.
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Stephan Berberig <s.berberig@arcor.de>
Fix a typo (use_frontent -> use_frontend) in saa7134-dvb.c.
Signed-off-by: Stephan Berberig <s.berberig@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Adrian Bunk <bunk@stusta.de>
We shouldn't dereference "cam" when we already know it's NULL.
Spotted by the Coverity checker.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Amit Choudhary <amit2030@gmail.com>
Free previously allocated memory (in array elements) if kmalloc() returns
NULL in submit_urbs().
Signed-off-by: Amit Choudhary <amit2030@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Steven Walter <stevenrwalter@gmail.com>
Add a board definition for the Encore ENL-TV card, and
adds its PCI subdevice to the ID table.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
The commands CX2341X_DEC_SET_AUDIO_OUTPUT, CX2341X_DEC_SET_AV_DELAY and
CX2341X_ENC_SET_3_2_PULLDOWN are not implemented in the Conexant firmware.
So these commands are removed. This also means that the V4L2_CID_MPEG_VIDEO_PULLDOWN
control in cx2341x.c and pvrusb2-hdw.c is removed.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
The temporal filter is forced off when scaling. The VIDIOC_LOG_STATUS
handler still showed the old temporal filter. It is now consistent with
the real temporal filter value.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
Change the code to unconditionally turn off the temporal filter when scaling.
If the window is not full screen the filter will introduce a nasty ghosting
effect.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
The wrong matrix was used when an external input was selected instead of
the tuner input. The rxsubchans field was also not initialized to STEREO
for an external input. And finally the msp34xxg_detect_stereo() should
not try to detect stereo for an external input, that code is for the
tuner input only.
Together these bugs made it hit 'n miss whether you ever got stereo out
of the msp3400 for an external input.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
On cx88 driver, sampling rate should be at chroma subcarrier freq (FSC).
However, driver were programming wrong values for PAL/60, PAL/Nc and
NTSC 4.43. This patch do the proper calculation. It also calculates
htotal, hdelay and hactive constants, according with the sampling
rate.
It is tested with PAL/60 by Piotr Maksymuk and Olivier. Test is still
required for PAL/Nc.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Dwaine Garden<DwaineGarden@rogers.com>
- SYSFS: Replaced all to_video_device(cd), video_device_create_file,
video_device_remove_file and add the proper checks at create_file
- Converted old norm values to V4L2 ones.
- Robustness on sysfs hue/contrast/saturation queries.
Additional check in order to return 0 if the driver is not opened.
- Clean up of white spaces in usbvision.h
This patch merges two fixes by Thierry MERLE and Mauro Chehab, and adds
additional checks.
Signed-off-by: Dwaine Garden<DwaineGarden@rogers.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
kernel-sync:
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
- INIT_WORK replaced by INIT_DELAYED_WORK
- struct work_struct replaced by struct delayed_work
- callback parameters also changed
- SLAB_KERNEL replaced by GFP_KERNEL
- linux/suspend.h replaced by linux/freezer.h
- on cpia: INIT_WORK replaced by INIT_WORK_NAR
- file->f_dentry->d_inode replaced by file->f_path.dentry->d_inode
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Main changes:
- There were several checks for usb release routines that were removed, since
the routine itself checks for null values:
usb_free_urb, usb_kill_urb, usb_unlink_urb
Should be checked if this really happens on older kernels.
- updated sound/oss/btaudio.c
- replaced SLAB_ATOMIC to GFP_ATOMIC
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
kernel-sync:
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
By accident, the usbvision fixes were comitted together with an experimental
patch to fix PAL/60 (bug #7267), yet incomplete.
This patch reverts those bad changes.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Thierry MERLE <thierry.merle@free.fr>
- fix decompression buffer allocation not done at first driver open
- simplification of USB sbuf allocation (use of usb_buffer_alloc)
- replaced vmalloc by vmalloc_32 (for homogeneity)
- add of saa7111 (i2cAddr=0x48) detection printout in attach_inform
Signed-off-by: Thierry MERLE <thierry.merle@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Michael Krufky <mkrufky@linuxtv.org>
dvb_net.c: In function 'dvb_net_ule':
dvb_net.c:628: warning: format '%#lx' expects type 'long unsigned int', but argument 3 has type 'u32'
dvb_net.c:628: warning: format '%#lx' expects type 'long unsigned int', but argument 4 has type 'u32'
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
|
|
From: Ang Way Chuang <wcang@nrg.cs.usm.my>
CRC-32 checking during ULE decapsulation always failed on x86_64 systems due
to the size of a variable used to store CRC. This bug was discovered on
Fedora Core 6 with kernel-2.6.18-1.2849. The i686 counterpart has no such
problem. This patch has been tested on 64-bit system as well as 32-bit system.
Signed-off-by: Ang Way Chuang <wcang@nrg.cs.usm.my>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|