public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Németh Márton" <nm127@freemail.hu>
To: Jean-Francois Moine <moinejf@free.fr>
Cc: video4linux-list@redhat.com, LKML <linux-kernel@vger.kernel.org>
Subject: Linux 2.6.28 + Trust 610 LCD PowerC@m Zoom, webcam mode?
Date: Sun, 01 Feb 2009 10:24:36 +0100	[thread overview]
Message-ID: <49856A54.1020105@freemail.hu> (raw)

[-- Attachment #1: Type: text/plain, Size: 2251 bytes --]

Hello Jean-Francois,

I have a Trust 610 LCD PowerC@m Zoom camera which can operate in webcam mode
also (USB ID=06d6:0031). I tried to use it together with Linux 2.6.28 and with
xawtv-3.95.dfsg.1 and with gqcam 0.9.1. The /dev/video0 appeared, but no usable
picture was visible.

However, I downloaded http://mxhaard.free.fr/spca50x/Download/gspcav1-20071224.tar.gz
and applied the attached patch (which might be incorrect for some aspects).
So I was able to compile the module and both xawtv and gqcam showed the good
picture.

Do you have any idea why the gspcav1 diver is working and the one which is included
in Linux 2.6.28 not?

Here is the output of v4l-info with the patched working gspcav1 driver:
$ v4l-info

### video4linux device info [/dev/video0] ###
general info
    VIDIOCGCAP
        name                    : "Trust 610 LCD PowerC@m Zoom"
        type                    : 0x1 [CAPTURE]
        channels                : 1
        audios                  : 0
        maxwidth                : 464
        maxheight               : 480
        minwidth                : 176
        minheight               : 144

channels
    VIDIOCGCHAN(0)
        channel                 : 0
        name                    : "SPCA533"
        tuners                  : 0
        flags                   : 0x0 []
        type                    : CAMERA
        norm                    : 0

tuner
ioctl VIDIOCGTUNER: Invalid argument

audio
ioctl VIDIOCGAUDIO: Invalid argument

picture
    VIDIOCGPICT
        brightness              : 32768
        hue                     : 0
        colour                  : 4096
        contrast                : 8192
        whiteness               : 0
        depth                   : 24
        palette                 : RGB24

buffer
    VIDIOCGFBUF
        base                    : (nil)
        height                  : 0
        width                   : 0
        depth                   : 0
        bytesperline            : 0

window
    VIDIOCGWIN
        x                       : 0
        y                       : 0
        width                   : 384
        height                  : 288
        chromakey               : 0
        flags                   : 0



Regards,

	Márton Németh

[-- Attachment #2: gspcav1_Trust_610_LCD_PowerC@m_Zoom-2.6.28.patch --]
[-- Type: text/x-diff, Size: 1928 bytes --]

diff -upr gspcav1-20071224.orig/gspca_core.c gspcav1-20071224/gspca_core.c
--- gspcav1-20071224.orig/gspca_core.c	2007-12-24 17:56:47.000000000 +0100
+++ gspcav1-20071224/gspca_core.c	2009-02-01 09:59:56.000000000 +0100
@@ -51,10 +51,11 @@ static const char gspca_version[] = GSPC
 #include <linux/pagemap.h>
 #include <linux/usb.h>
 #include <asm/io.h>
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 #include <asm/page.h>
 #include <asm/uaccess.h>
 #include <asm/atomic.h>
+#include <media/v4l2-ioctl.h>
 /* only on 2.6.x */
 #include <linux/jiffies.h>
 #include <linux/param.h>
@@ -2606,9 +2607,7 @@ static struct file_operations spca5xx_fo
 	.llseek = no_llseek,
 };
 static struct video_device spca50x_template = {
-	.owner = THIS_MODULE,
 	.name = "GSPCA USB Camera",
-	.type = VID_TYPE_CAPTURE,
 #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,23)	
 	.hardware = VID_HARDWARE_GSPCA,
 #endif
@@ -2765,24 +2764,7 @@ static DEVICE_ATTR(pictsetting, S_IRUGO,
 static int
 spca50x_create_sysfs(struct video_device *vdev)
 {
-	int rc = 0;
-	rc = video_device_create_file(vdev, &dev_attr_stream_id);
-	if (rc)
-		goto err_stream_id;
-	rc = video_device_create_file(vdev, &dev_attr_model);
-	if (rc)
-		goto err_model;
-	rc = video_device_create_file(vdev, &dev_attr_pictsetting);
-	if (rc)
-		goto err_pictsetting;
 	return 0;
-      err_pictsetting:
-	video_device_remove_file(vdev, &dev_attr_pictsetting);
-      err_model:
-	video_device_remove_file(vdev, &dev_attr_model);
-      err_stream_id:
-	video_device_remove_file(vdev, &dev_attr_stream_id);
-	return rc;
 }
 #endif 
 
@@ -4298,7 +4280,6 @@ spca5xx_probe(struct usb_interface *intf
 	if (!spca50x->vdev)
 		goto error;
 	memcpy(spca50x->vdev, &spca50x_template, sizeof (spca50x_template));
-	spca50x->vdev->dev = &dev->dev;
 	video_set_drvdata(spca50x->vdev, spca50x);
 	PDEBUG(2, "setting video device = %p, spca50x = %p", spca50x->vdev,
 	       spca50x);

             reply	other threads:[~2009-02-01  9:25 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-01  9:24 Németh Márton [this message]
2009-02-01 14:24 ` Linux 2.6.28 + Trust 610 LCD PowerC@m Zoom, webcam mode? Jean-Francois Moine
2009-02-02  7:12   ` Németh Márton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=49856A54.1020105@freemail.hu \
    --to=nm127@freemail.hu \
    --cc=linux-kernel@vger.kernel.org \
    --cc=moinejf@free.fr \
    --cc=video4linux-list@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox