- 30 12月, 2008 1 次提交
-
-
由 Kay Sievers 提交于
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 Signed-off-by: NKay Sievers <kay.sievers@vrfy.org> Acked-by: NGreg Kroah-Hartman <gregkh@suse.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 22 10月, 2008 1 次提交
-
-
由 Mike Isely 提交于
Fix deadlock problem in 2.6.27 caused by new USB core behavior in response to a USB device reset request. With older kernels, the USB device reset was "in line"; the reset simply took place and the driver retained its association with the hardware. However now this reset triggers a disconnect, and worse still the disconnect callback happens in the context of the caller who asked for the device reset. This results in an attempt by the pvrusb2 driver to recursively take a mutex it already has, which deadlocks the driver's worker thread. (Even if the disconnect callback were to happen on a different thread we'd still have problems however - because while the driver should survive and correctly disconnect / reconnect, it will then trigger another device reset during the repeated initialization, which will then cause another disconect, etc, forever.) The fix here is simply to not attempt the device reset (it was of marginal value anyway). Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 12 10月, 2008 7 次提交
-
-
由 Mike Isely 提交于
Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mike Isely 提交于
This builds upon the previous pvrusb2 change to more formally implement full cropping support. This enables access from the driver's V4L interface, and enables access to full capabilities from sysfs as well. Note that this is only effective when in analog mode. It also will only work when the underlying digitizer's driver (saa7115 or cx25840 depending on the hardware) also implements the appropriate functions. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mike Isely 提交于
Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 vdb128@picaros.org 提交于
Implement pvrusb2 driver plumbing to support cropping. Submitted by a pvrusb2 user. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mike Isely 提交于
The driver includes an internal table specifying additional information on a per device-type basis. This works great until somebody tries to run-time associate another USB ID with the driver. This change should hopefully allow the driver to fail gracefully under such a circumstance. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mike Isely 提交于
Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Harvey Harrison 提交于
___swab32 is an internal detail of the implementation. Acked-by: NMike Isely <isely@pobox.com> Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 26 7月, 2008 1 次提交
-
-
由 Mike Isely 提交于
The Zilog IR chip on HVR-1900 devices is held in reset when the device initializes. We have to bring this chip out of reset before LIRC has any chance of operating the chip. So do it. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
- 20 7月, 2008 8 次提交
-
-
由 Mike Isely 提交于
When switching video standard, ensure that video GOP size remains appropriately configured. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Hans Verkuil 提交于
The cx18 can support transport streams with newer firmwares. Add a TS capability to the generic cx2341x module. Signed-off-by: NHans Verkuil <hverkuil@xs4all.nl> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
The driver enforces a "quiet period" on the encoder in certain situations before attempting to operate it. This seems to help avoid video encoding errors / corruption. The quiet period was 50msec, but through experimentation it has been observed to improve further if the interval is increased to 100msec. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
This is primarily a cosmetic change to make it easier to change some of the time constants used in the driver. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Michael Krufky 提交于
The pvrusb2 driver initially sets the tuner to known broadcast frequencies in the Chicago area, to ease driver testing for the maintainer. This patch keeps those default frequencies, but allows them to be altered via modprobe option. This allows the same ease and convenience for testing multiple pvrusb2 devices one after another under other conditions and areas. For instance, the default initial frequency, 175.25 MHz, might not necessarily be valid on all cable television networks, but usually will be a valid NTSC broadcast channel. Signed-off-by: NMichael Krufky <mkrufky@linuxtv.org> Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Adrian Bunk 提交于
This patch makes the following needlessly global code static: - pvrusb2-devattr.c: struct pvr2_onair_creator_fe_props - pvrusb2-devattr.c: struct pvr2_onair_usb2_fe_props - pvrusb2-devattr.c: struct pvr2_73xxx_dvb_props - pvrusb2-devattr.c: struct pvr2_750xx_dvb_props - pvrusb2-devattr.c: struct pvr2_751xx_dvb_props - pvrusb2-hdw.c:pvr2_led_ctrl_hauppauge() Signed-off-by: NAdrian Bunk <bunk@kernel.org> Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
- 25 4月, 2008 22 次提交
-
-
由 Mike Isely 提交于
Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
In the pvrusb2 driver, different interfaces (e.g. V4L, DVB) have Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Adrian Bunk 提交于
This patch contains the following cleanups: - make the following needlessly global function static: - pvr2_hdw_set_cur_freq() - #if 0 the following unused global functions: - pvr2_hdw_get_state_name() - pvr2_hdw_get_debug_info_unlocked() - pvr2_hdw_get_debug_info_locked() Signed-off-by: NAdrian Bunk <bunk@kernel.org> Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
If a disconnect happens before initialization is completed, the pvrusb2 driver can accidentally touch dangling pointers. The whole initialization function must be protected by the big_lock, and once inside that lock, the initialization function should abort if it is discovered that a disconnect has already taken place. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
Implement timed measurement of encoder operation for the first time it is run. This allows the driver to note when the encoder has been run successfully for at least 1/4 second. On top of that implement various bits to ensure that the encoder has been run once before digital streaming for OnAir devices. This is done via several core state machine tweaks. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
Some tuners seem to not work in digital mode unless the encoder is healthy. Implement a device attribute to represent this flag and modify the core state machines to enforce this requirement. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
The commands to start / stop USB streaming for an analog device are fairly standard, owing to the fact that all supported devices apparently started from the same common reference design. However with digital mode, the commands seem to vary by vendor. This change makes that variance more explicit. It also cleans up a related problem for OnAir devices which prevented digital mode from working at all. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
Numerous places in the driver need to issue simple commands to the FX2 microcontroller (e.g. only 1 or 2 bytes, no reply needed). Previously each place that did this, had to take lock, set up a central buffer, and call the function to perform the handshake. This change puts these steps into a single spot. This also has the effect of removing the need to mess with the control lock from numerous places in the code. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
Implement a mechanism in the pvrusb2 driver for gathering statistics on the stream buffering, including bytes transferred, buffers handled, buffers in flight, etc. This is useful for debugging certain classes of streaming issues and for determining if the buffer pool size is generally correct for the driver. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
Don't trigger a pathway state change if it's already been triggered (eliminates some wasted processing and some debug output noise) Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Tobias Klauser 提交于
The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: NTobias Klauser <tklauser@distanz.ch> Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
This change significantly rearranges pvr2_context level initialization and operation: 1. A new kernel thread is set up for management of the context. 2. Destruction of the pvr2_context instance is moved into the kernel thread. No other context is able to remove the instance; doing this simplifies lock handling. 3. The callback into pvrusb2-main, which is used to trigger initialization of each interface, is now issued from this kernel thread. Previously it had been indirectly issued out of the work queue thread in pvr2_hdw, which led to deadlock issues if the interface needed to change a control setting (which in turn requires dispatch of another work queue entry). 4. Callbacks into the interfaces (via the pvr2_channel structure) are now issued strictly from this thread. The net result of this is that such callback functions can now also safely operate driver controls without deadlocking the work queue. (At the moment this is not actually a problem, but I'm anticipating issues with this in the future). 5. There is no longer any need for anyone to enter / exit the pvr2_context structure. Implementation of the kernel thread here allows this all to be internal now, simplifying other logic. 6. A very very longstanding issue involving a mutex deadlock between the pvrusb2 driver and v4l should now be solved. The deadlock involved the pvr2_context mutex and a globals-protecting mutex in v4l. During initialization the driver would take the pvr2_context mutex first then the v4l2 interface would register with v4l and implicitly take the v4l mutex. Later when v4l would call back into the driver, the two mutexes could possibly be taken in the opposite order, a situation that can lead to deadlock. In practice this really wasn't an issue unless a v4l app tried to start VERY early after the driver appeared. However it still needed to be solved, and with the use of the kernel thread relieving need for pvr2_context mutex, the problem should be finally solved. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
The pvrusb2 tear-down logic was clearing two timers before stopping its internal work queue. That left a tiny window open where the work queue might run after the timers are stopped, possibly starting them again. This could lead to dangling pointers and an oops. Solution: Kill the work queue first, then delete the timers. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
There is a callback that is issued to into pvr2_context from pvr2_hdw after initialization is done. There was a probability that this callback could get missed. Fixed. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
The pvrusb2 driver has used hardcoded logic to control the LED on the device. However this is really Hauppauge-specific behavior. This change defines a new device attribute for LED control and sets things up appropriately for Hauppauge devices. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Mike Isely 提交于
Most of this originates from Michael Krufky <mkrufky@linuxtv.org>; these changes move LED control into separate functions. This is the first step in new work to make LED control a device-specific attribute. Signed-off-by: NMike Isely <isely@pobox.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-