Commit Graph

102605 Commits

Author SHA1 Message Date
Hans Verkuil ca130eef2c V4L/DVB (8377): ivtv/cx18: ensure the default control values are correct
For several MPEG controls and the volume control the default as returned
by VIDIOC_QUERYCTRL was incorrect and did not match the actual initial
value.

This is now fixed for cx18 and ivtv.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:28:07 -03:00
Hans Verkuil cb5aa1c62d V4L/DVB (8376): cx25840: move cx25840_vbi_setup to core.c and rename to cx25840_std_setup
cx25840_vbi_setup has nothing to do with setting up VBI, but everything
with setting up the standard. Move to cx25840-core.c and rename.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:28:00 -03:00
Hans de Goede 5de39b2b1f V4L/DVB (8374): gspca: No conflict of 0c45:6011 with the sn9c102 driver.
The sn9c102 driver claims to support usb-ID 0x0c45:0x6011, which is
a sn9c102 with ov6650 sensor, but the sn9c102 driver does not support the
ov6650 sensor (tested). Also the sn9c102 driver claims to support usb-ID
0x0c45:0x603f, which is a sn9c102 with CISVF10 sensor, but the sn9c102
driver does not support the CISVF10 sensor (not tested).

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:27:52 -03:00
Hans de Goede 12ff91264c V4L/DVB (8373): gspca: Hue, saturation and contrast controls added for sn9c10x ovxxxx.
(does not work with ov6650)

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:27:46 -03:00
Hans de Goede 722103e390 V4L/DVB (8372): gspca: Small ov6650 fixes.
1) Don't change  the red and blue pre-gain's from their defaults
2) Actually make the powerline freq ctrl available to userspace

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:27:42 -03:00
Jean-Francois Moine c91256c27b V4L/DVB (8371): gspca: Webcam 08ca:2050 added.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:27:37 -03:00
Jean-Francois Moine 100f7f2a34 V4L/DVB (8370): gspca: Webcam 0461:0821 added.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:27:32 -03:00
Jean-Francois Moine 1ff1e48442 V4L/DVB (8369): gspca: Bad initialization of sn9c102 ov7630.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:27:28 -03:00
Andoni Zubimendi d87616f5a5 V4L/DVB (8367): gspca: Light frequency filter / exposure / clean-up for sn9c103 ov7630.
Signed-off-by: Andoni Zubimendi <andoni.zubimendi@gmail.com>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:27:24 -03:00
Hans de Goede a975a5279e V4L/DVB (8366): gspca: Better code for ov6650 and ov7630.
sonixb:   Common code between ov6650 and ov7630.
          Fix brightness oscillation with ov6650 sensor.

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:27:19 -03:00
Hans de Goede 66f358211d V4L/DVB (8364): gspca: Support of powerline frequency for ov6650.
Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:27:15 -03:00
Hans de Goede 5c6644f305 V4L/DVB (8363): gspca: Bad image size with spca501.
Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:27:10 -03:00
Hans de Goede c36260ee27 V4L/DVB (8362): gspca: Bad offset of the brightness sum in sn9c103 packets.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:27:05 -03:00
Andoni Zubimendi b7474cf9f6 V4L/DVB (8361): gspca: Bad check of i2c write to sn9c10x.
Signed-off-by: Andoni Zubimendi <andoni.zubimendi@gmail.com>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:27:01 -03:00
Andoni Zubimendi 794af52a4c V4L/DVB (8360): gspca: Bad initialization of sn9c103 - ov7630.
Signed-off-by: Andoni Zubimendi <andoni.zubimendi@gmail.com>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:26:56 -03:00
Mauro Carvalho Chehab 9a97a2abe4 V4L/DVB (8359): gspca: Adds register aliases for zc03xx registers
Thanks to http://zc0302.sourceforge.net/zc0302.php, we have some hints
about what each zc3xx register means.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
2008-07-20 07:26:49 -03:00
Jean-Francois Moine 568788a771 V4L/DVB (8358): gspca: Better initialization of sn9c120 - ov7660.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:26:43 -03:00
Hans de Goede f4d520258d V4L/DVB (8357): gspca: Perfect exposure for sn9c10x, sensor ov6650.
Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:26:37 -03:00
Hans de Goede 3647fea840 V4L/DVB (8356): gspca: 352x288 mode fix and source clean-up for Sonix bridges.
sonixb:   Bad initialization of sensor for 352x288 mode.
                (from Hans de Goede)
sonixj:   Clean-up source.

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:26:33 -03:00
Hans de Goede ad5ef80dd7 V4L/DVB (8354): gspca: Better gain for bridge sn9c10x - sensor ov6650.
sonixb:   Better gain for ov6650.

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:26:28 -03:00
Andoni Zubimendi 4b972d29bb V4L/DVB (8353): gspca: 640x480 for bridge sn9c103 / sensor ov7630.
sonixb:   640x480 mode for sn9c103 - ov7630.

Signed-off-by: Andoni Zubimendi <andoni.zubimendi@gmail.com>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:26:24 -03:00
Jean-Francois Moine 739570bb21 V4L/DVB (8352): gspca: Buffers for USB exchanges cannot be in the stack.
gspca:    Protect dq_callback() against simultaneous USB exchanges.
          Temporary buffer for USB exchanges added in the device struct.
(all)     Use a temporary buffer for all USB exchanges.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:26:14 -03:00
Jean-Francois Moine 5b77ae7776 V4L/DVB (8350): gspca: Conform to v4l2 spec and mutex unlock fix.
gspca:    Empty the application queues on streamoff ioctl.
          streamon/off and qbuf ioctls may be done by any application.
          Don't handle MJPEG pixel format as JPEG.
                (thanks to Hans de Goede)
          Authorize reqbufs ioctl when streaming.
          Bad mutex unlock in poll() when streaming problem.
                (thanks to Mauro Carvalho Chehab)
          Don't handle 'webcam disconnected' in stream off.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:26:09 -03:00
Andoni Zubimendi 51fc8e3bc0 V4L/DVB (8349): gspca: SN9C103 OV7630 fixes in sonixb.
Signed-off-by: Andoni Zubimendi <andoni.zubimendi@gmail.com>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:26:04 -03:00
Hans de Goede dcef3237b6 V4L/DVB (8348): gspca: Add auto gain/exposure to sonixb and tas5110 / ov6650 sensors.
sonixb:   Do auto gain for tas5110 / ov6650 sensors.
pac207:   Move the auto_gain function to gspca.
gspca:    New function gspca_auto_gain_n_exposure().

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:25:59 -03:00
Jean-Francois Moine d0d0e39bc5 V4L/DVB (8346): gspca: Bad pixel format of bridge VC0321.
vc032x:   Light frequency was not initialized.
          Change the pixel format of bridge VC0321 to V4L2_PIX_FMT_YUV420
              ('YU12').
          Set a bridge to all webcams.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:25:54 -03:00
Magnus Damm 326c986207 V4L/DVB (8343): soc_camera_platform: Add SoC Camera Platform driver
This patch adds a simple platform camera device. Useful for testing
cameras with SoC camera host drivers. Only one single pixel format
and resolution combination is supported.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:25:49 -03:00
Magnus Damm 0d3244d643 V4L/DVB (8342): sh_mobile_ceu_camera: Add SuperH Mobile CEU driver V3
This is V3 of the SuperH Mobile CEU soc_camera driver.

The CEU hardware block is configured in a transparent data fetch
mode, frames are captured from the attached camera and written to
physically contiguous memory buffers provided by the newly added
videobuf-dma-contig queue. Tested on sh7722 and sh7723 processors.

 Changes since V2:
 - remove SUPERH Kconfig dependency
 - move sh_mobile_ceu.h to include/media
 - add board callback support with enable_camera()/disable_camera()
 - add support for declare_coherent_memory
 - rework video memory limit
 - more verbose error messages

 Changes since V1:
 - fixed the CEU driver to work with the newly updated patches

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:25:43 -03:00
Magnus Damm 2cc45cf25a V4L/DVB (8341): videobuf: Add physically contiguous queue code V3
This is V3 of the physically contiguous videobuf queues patch.
Useful for hardware such as the SuperH Mobile CEU which doesn't
support scatter gatter bus mastering.

Since it may be difficult to allocate large chunks of physically
contiguous memory after some uptime due to fragmentation, this code
allocates memory using dma_alloc_coherent(). Architectures supporting
dma_declare_coherent_memory() can easily avoid fragmentation issues
by using dma_declare_coherent_memory() to force dma_alloc_coherent()
to allocate from a certain pre-allocated memory area.

 Changes since V2
  - use dma_handle for physical address
  - use "scatter gather" instead of "scatter gatter"

 Changes since V1:
  - use dev_err() instead of pr_err()
  - remember size in struct videobuf_dma_contig_memory
  - keep struct videobuf_dma_contig_memory in .c file
  - let videobuf_to_dma_contig() return dma_addr_t
  - implement __videobuf_sync()
  - return statements, white space and other minor fixes

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:25:37 -03:00
Magnus Damm 5d6aaf50e2 V4L/DVB (8340): videobuf: Fix gather spelling
Use "scatter gather" instead of "scatter gatter".

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:25:32 -03:00
Magnus Damm b15cf1fcce V4L/DVB (8339): soc_camera: Add 16-bit bus width support
The SuperH Mobile CEU hardware supports 16-bit width bus,
so extend the soc_camera code with SOCAM_DATAWIDTH_16.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:25:26 -03:00
Magnus Damm a034d1b76b V4L/DVB (8338): soc_camera: Move spinlocks
This patch moves the spinlock handling from soc_camera.c to the actual
camera host driver. The spinlock_alloc/free callbacks are replaced with
code in init_videobuf(). So far all camera host drivers implement their
own spinlock_alloc/free methods anyway, and videobuf_queue_core_init()
BUGs on a NULL spinlock argument, so, new camera host drivers will not
forget to provide a spinlock when initialising their videobuf queues.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:25:21 -03:00
Paulius Zaleckas 092d392119 V4L/DVB (8337): soc_camera: make videobuf independent
Makes SoC camera videobuf independent. Includes all necessary changes for
PXA camera driver (currently the only driver using soc_camera in the mainline).
These changes are important for the future soc_camera based drivers.

Signed-off-by: Paulius Zaleckas <paulius.zaleckas@teltonika.lt>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:25:17 -03:00
Oliver Endriss 439d0e4250 V4L/DVB (8335): dvb-ttpci: Fix build with CONFIG_INPUT_EVDEV=n (Bug #11042)
Fix build with CONFIG_INPUT_EVDEV=n (Bug #11042).
Thanks to Toralf Frster <toralf.foerster@gmx.de> for reporting.

Thanks-to: Toralf Frster <toralf.foerster@gmx.de>

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:25:12 -03:00
Oliver Endriss 4ee48c4257 V4L/DVB (8334): tda10023: Fix typo in tda10023_attach dummy routine
Fix compiler warning caused by a typo in the tda10023_attach dummy routine.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:25:08 -03:00
Andy Walls 02fa272fcb V4L/DVB (8332): cx18: Suport external reset of the Z8F0811 IR controller on HVR-1600 for lirc
cx18: added in cx18_ir_reset_gpio function for lirc_pvr150 like module.  Also
added the ability to reset the IR chip via ioctl like ivtv.  This needs the
mutex to protect gpio_dir and gpio_val in struct cx18 as gpio changes can
come from a few different asynchronous sources now.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:25:03 -03:00
Andy Walls 8abdd00dcc V4L/DVB (8331): cx18: Add locking for struct cx18 GPIO state variables
cx18: Add locking for struct cx18 GPIO state variables in
anticpation of adding IR microcontroller reset support for
use by external IR modules.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:24:59 -03:00
Michael Krufky 2c6a37bb07 V4L/DVB (8326): sms1xxx: fix missing #include <linux/types.h>
Fix the build error:

smscoreapi.c:689: error: 'uintptr_t' undeclared

Thanks to Peter Schlaf for reporting this.

Cc: Peter Schlaf <peter.schlaf@web.de>

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:24:53 -03:00
Michael Krufky f1f74aa2cf V4L/DVB (8322): sms1xxx: fix improper usage of asm/foo.h
Fix the following warnings generated by checkpatch.pl:

WARNING: Use #include <linux/io.h> instead of <asm/io.h>
 251: FILE: linux/drivers/media/dvb/siano/smscoreapi.c:30:
+#include <asm/io.h>

WARNING: Use #include <linux/scatterlist.h> instead of <asm/scatterlist.h>
 1566: FILE: linux/drivers/media/dvb/siano/smscoreapi.h:29:
+#include <asm/scatterlist.h>

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:24:49 -03:00
Hermann Pitton 0b17d0edbc V4L/DVB (8319): saa7134: Add support for analog only ASUSTeK P7131
saa7134: add a separate entry for the ASUSTeK P7131 analog only
         and do some eeprom detection to escape from the TVFM7135
         with the same PCI subsystem on auto detection.

Signed-off-by: Hermann Pitton <hermann-pitton@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:24:45 -03:00
Daniel Drake cd257a6f4d V4L/DVB (8318): OV7670: don't reject unsupported settings
For VIDIOC_G_FMT/VIDIOC_TRY_FMT, the V4L2 API spec states:
"Drivers should not return an error code unless the input is ambiguous"
"Very simple, inflexible devices may even ignore all input and always
return the default parameters."
"When the requested buffer type is not supported drivers return an
EINVAL error code."
i.e. returning errors for unsupported fields is bad, and it's ok to
unconditionally overwrite user-requested settings

This patch makes ov7670 meet that behaviour, and brings it in line with
other drivers e.g. stk-webcam. It also fixes compatibility with (unpatched)
gstreamer.

Signed-off-by: Daniel Drake <dsd@laptop.org>
Acked-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:24:41 -03:00
Dean Anderson 3f8d6f73da V4L/DVB (8317): Sensoray 2255 V4l driver checkpatch fixes
This patch fixes some coding style issues.
It also fixes a NULL de-reference on driver unload.
The permissions for the module parameters were changed to 0644.

Signed-off-by: Dean Anderson <dean@sensoray.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:24:32 -03:00
Jean Delvare 91a1d912f6 V4L/DVB (8316): bt819: Fix a debug message
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:24:26 -03:00
Jean Delvare 203c204b39 V4L/DVB (8315): zr36067: Delete dead code
This has been commented out for years, it's about time to get rid of
it.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:24:20 -03:00
Michael Krufky 44f71c3fce V4L/DVB (8313): sms1xxx: add support for Hauppauge WinTV-Nova-T-MiniStick
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:24:15 -03:00
Michael Krufky a745f0a12c V4L/DVB (8312): sms1xxx: add firmware filenames to board properties for stellar and nova
Assign the following firmware filenames:

sms1xxx-stellar-dvbt-01.fw
sms1xxx-nova-a-dvbt-01.fw
sms1xxx-nova-b-dvbt-01.fw

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:24:09 -03:00
Michael Krufky 1fbc3caff4 V4L/DVB (8311): sms1xxx: support device-specific firmware filenames on stellar usb1 sticks
Add the capability to define device-specific firmware filenames for the SMS1010,
with a mechanism to fall back to the generic firmware if the device-specific
firmware is not present.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:24:03 -03:00
Michael Krufky b1d8f9f5b8 V4L/DVB (8310): sms1xxx: remove kmutex_t typedef
remove typedef struct mutex kmutex_t
fix one line > 80 columns

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:23:58 -03:00
Michael Krufky 4411d29165 V4L/DVB (8309): sms1xxx: fix OOPS on 64 bit kernels due to a bad cast
Fix the following build warning:

smscoreapi.c: In function 'smscore_detect_mode':
smscoreapi.c:689: warning: cast from pointer to integer of different size
smscoreapi.c:689: warning: cast to pointer from integer of different size
smscoreapi.c: In function 'smscore_set_device_mode':
smscoreapi.c:820: warning: cast from pointer to integer of different size
smscoreapi.c:820: warning: cast to pointer from integer of different size

...and fix the following OOPS on 64bit kernels:

[  717.263667] usb 6-4: new high speed USB device using ehci_hcd and address 2
[  717.396386] usb 6-4: configuration #1 chosen from 1 choice
[  717.473650] Unable to handle kernel paging request at 0000000000c02000 RIP:
[  717.473657]  [<ffffffff88db9edc>] :sms1xxx:smscore_set_device_mode+0x22c/0x4a0
[  717.473669] PGD 3c6f7067 PUD 3d484067 PMD 0
[  717.473674] Oops: 0002 [1] SMP
[  717.473678] CPU 0
[Modules linked in snipped]
[  717.473773] Pid: 8380, comm: modprobe Tainted: P        2.6.24-16-generic #1
[  717.473776] RIP: 0010:[<ffffffff88db9edc>]  [<ffffffff88db9edc>] :sms1xxx:smscore_set_device_mode+0x22c/0x4a0
[  717.473784] RSP: 0018:ffff81003d495ba8  EFLAGS: 00010206
[  717.473786] RAX: ffff81003d8cd8d0 RBX: ffff81003d8cd800 RCX: ffff81003d8cd8d0
[  717.473788] RDX: 0000000000000008 RSI: ffff81003f080070 RDI: ffff81003d8cd800
[  717.473791] RBP: 0000000000000004 R08: ffff81003ec0104b R09: ffffffffffffffff
[  717.473793] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000c02000
[  717.473796] R13: 00000000fffffff4 R14: ffff810000c02000 R15: ffff81003d8cd878
[  717.473799] FS:  00007f70a680f6e0(0000) GS:ffffffff805b0000(0000) knlGS:0000000000000000
[  717.473801] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[  717.473804] CR2: 0000000000c02000 CR3: 000000003c68b000 CR4: 00000000000006e0
[  717.473806] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  717.473809] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[  717.473812] Process modprobe (pid: 8380, threadinfo ffff81003d494000, task ffff81003d2fc000)
[  717.473814] Stack:  ffff81003d8cd800 ffff81003d8cd800 0000000000000000 ffff81003c6d8000
[  717.473820]  ffff81003dcac800 0000000000000008 ffffc20000787bb0 ffffffff88dba16c
[  717.473825]  ffff81003dcac800 000000000000000a 0000000000000000 ffffffff88dbb2fa
[  717.473829] Call Trace:
[  717.473866]  [<ffffffff88dba16c>] :sms1xxx:smscore_start_device+0x1c/0xb0
[  717.473885]  [<ffffffff88dbb2fa>] :sms1xxx:smsusb_probe+0x29a/0x670
[  717.473929]  [<ffffffff88dbaca0>] :sms1xxx:smsusb_sendrequest+0x0/0x30
[  717.473965]  [<ffffffff804614d9>] mutex_lock+0x9/0x20
[  717.473998]  [<ffffffff8806c42e>] :usbcore:usb_autopm_do_device+0x8e/0x130
[  717.474040]  [<ffffffff8806d33a>] :usbcore:usb_probe_interface+0xda/0x160
[  717.474067]  [<ffffffff803b9f4c>] driver_probe_device+0x9c/0x1b0
[  717.474091]  [<ffffffff803ba219>] __driver_attach+0xc9/0xd0
[  717.474107]  [<ffffffff803ba150>] __driver_attach+0x0/0xd0
[  717.474115]  [<ffffffff803b918d>] bus_for_each_dev+0x4d/0x80
[  717.474156]  [<ffffffff803b959c>] bus_add_driver+0xac/0x220
[  717.474203]  [<ffffffff8806cde9>] :usbcore:usb_register_driver+0xa9/0x120
[  717.474232]  [<ffffffff88dbb00b>] :sms1xxx:smsusb_register+0x1b/0x70
[  717.474243]  [<ffffffff88dba50c>] :sms1xxx:smscore_module_init+0x7c/0xb0
[  717.474253]  [<ffffffff80263b6e>] sys_init_module+0x18e/0x1a90
[  717.474426]  [<ffffffff8020c37e>] system_call+0x7e/0x83
[  717.474490]
[  717.474491]
[  717.474492] Code: 66 41 c7 04 24 9c 02 41 c6 44 24 02 00 4c 89 e6 41 c6 44 24
[  717.474506] RIP  [<ffffffff88db9edc>] :sms1xxx:smscore_set_device_mode+0x22c/0x4a0
[  717.474513]  RSP <ffff81003d495ba8>
[  717.474515] CR2: 0000000000c02000
[  717.474521] ---[ end trace 52d9c6f207be106a ]---

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:23:52 -03:00
Michael Krufky 14a638cd3b V4L/DVB (8308): sms1xxx: Provide option to support Siano default usb ids
Provide an option to enable / disable support for Siano's default usb ids.

This allows the support for Siano's USB IDs to be disabled, so that Siano's
external driver can be used, instead.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-20 07:23:47 -03:00