This will remove the following sparse warning (see "make C=1"):
* incorrect type in argument 1 (different signedness)
expected unsigned int *start
got signed int *<noident>
as well as a couple more signedness mismatches.
Signed-off-by: Márton Németh <nm127@freemail.hu>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Reading from zl10353 with tm6000 has a bug. For example:
regs w/o patch with patch
0x06 0x00 0x7f
0x07 0x33 0x30
0x08 0x00 0x00
0x09 0x58 0x50
0x0f 0x31 0x28
0x10 0x00 0x84
This patch provides the workaround for the bug
[mchehab@redhat.com: Fix merge conflict and add a comment at the workaround]
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Split the i2c send and receive functions on separate functions
[mchehab@redhat.com: CodingStyle and fix the logic for more than 2 read values]
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Fix some messages for add information about TM6010
Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
The i2c addr on I2C core is specified on 7-bit format, but tm6000
expects it on 8-bit format.
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
"hack" module were a temporary file with some zl10353 magic. This is not needed anymore.
Just remove it.
[mchehab@redhat.com: CodingStyle fixes]
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Udev calls an utility when it senses a v4l device. So, register needs
to be delayed, otherwise it may cause block conditions.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Test the just-allocated value for NULL rather than some other value.
The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@@
expression x,y;
statement S;
@@
x = \(kmalloc\|kcalloc\|kzalloc\)(...);
(
if ((x) == NULL) S
|
if (
- y
+ x
== NULL)
S
)
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
(1) tm6000 uses usb_*() interfaces, so it should depend on USB.
drivers/built-in.o: In function `tm6000_usb_disconnect':
tm6000-cards.c:(.text+0x4abb44): undefined reference to `usb_put_dev'
drivers/built-in.o: In function `tm6000_usb_probe':
tm6000-cards.c:(.text+0x4ac923): undefined reference to `usb_get_dev'
tm6000-cards.c:(.text+0x4ac93c): undefined reference to `usb_set_interface'
drivers/built-in.o: In function `tm6000_read_write_usb':
(.text+0x4ad274): undefined reference to `usb_control_msg'
drivers/built-in.o: In function `tm6000_uninit_isoc':
tm6000-video.c:(.text+0x4b00d5): undefined reference to `usb_kill_urb'
tm6000-video.c:(.text+0x4b00e4): undefined reference to `usb_unlink_urb'
tm6000-video.c:(.text+0x4b013c): undefined reference to `usb_buffer_free'
tm6000-video.c:(.text+0x4b014b): undefined reference to `usb_free_urb'
drivers/built-in.o: In function `tm6000_prepare_isoc':
tm6000-video.c:(.text+0x4b0773): undefined reference to `usb_alloc_urb'
tm6000-video.c:(.text+0x4b0835): undefined reference to `usb_buffer_alloc'
drivers/built-in.o: In function `tm6000_irq_callback':
tm6000-video.c:(.text+0x4b1ad3): undefined reference to `usb_submit_urb'
drivers/built-in.o: In function `tm6000_module_init':
tm6000-cards.c:(.init.text+0x24499): undefined reference to `usb_register_driver'
drivers/built-in.o: In function `tm6000_module_exit':
tm6000-cards.c:(.exit.text+0x5cb0): undefined reference to `usb_deregister'
(2) tm6000-alsa uses interfaces from tm6000-core, so when they are
both built as modules, the core interfaces need to be exported.
ERROR: "tm6000_set_reg" [drivers/staging/tm6000/tm6000-alsa.ko] undefined!
ERROR: "tm6000_get_reg" [drivers/staging/tm6000/tm6000-alsa.ko] undefined!
Cc: linux-next@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>, linux-media@vger.kernel.org
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: Michel Ludwig <michel.ludwig@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Fix several parameter sets, in order to make dvb work
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
After sending an i2c command, tm6010 needs a reset, in order to properly
work.
While here, add the missing I2C_CLASS_TV_DIGITAL i2c class.
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
After successfully running tm6000_init_dev, due to a lack of a return(),
the driver runs the error code, unregistering the device.
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
[mchehab@redhat.com: moved the defines for the two beholder boards to a separate commit ]
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
The init sequence requires extra initialization for tm6010 in digital
mode.
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
The name of xc5000.h include file were wrong
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Fix a regression in the firmware loading time where it went from 1080 ms to
4700 ms. This was noticed when the em28xx based HVR-950 took noticably longer
to load the driver.
Regression introduced in hg 12824. The developer added an msleep() call with
an argument based on a newly introduced xc3028_ctrl field, which is left
initialized to zero for pretty much every board that is currently supported.
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Now that the video_device registration is tested using
video_is_registered(), drivers don't need to initialize the
video_device::minor field to -1 anymore.
Remove those unneeded assignments.
[mchehab.redhat.com: apply just the tm6000 changes on a separate patch]
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Instead of using the minor number in kernel log messages, use the device
node name as returned by the video_device_node_name() function. This
makes debug, informational and error messages easier to understand for
end users.
[mchehab.redhat.com: apply just the tm6000 changes on a separate patch]
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Add new TV cards of Beholder for autodetect.
With my best regards, Dmitry.
Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Onr warning is left, since it is there for a purpose:
tm6000-core.c:218: warning: ISO C90 forbids mixed declarations and code
It indicates a place where a temporary hack were added. Tests are needed to be sure that
we can remove it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Instead of storing next buf on a temp var, saved over URB
processing, restore it using get_next_buf.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>