Re: [PATCH] Input: scancode in get/set_keycodes should be unsigned

2010-02-28 Thread Németh Márton
Dmitry Torokhov wrote:
 On Sun, Feb 28, 2010 at 07:44:32AM +0100, Németh Márton wrote:
 Hi,
 Dmitry Torokhov wrote:
 The HID layer has some scan codes of the form 0xffbc for logitech
 devices which do not work if scancode is typed as signed int, so we need
 to switch to unsigned int instead. While at it keycode being signed does
 not make much sense either.
 Are the scan codes and key codes always 4 bytes long? Then the u32 data
 type could be used to take 16 bit (or 64 bit) processors also into
 consideration.

 
 We do not support 16 bit processors and for 64 bit 'unsigned int' is
 still 32 bits.
 

OK, then:

Acked-by: Márton Németh nm...@freemail.hu
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: cx18: where do the transport stream PIDs come from?

2010-02-28 Thread Andy Walls
On Fri, 2010-02-26 at 17:23 +0100, Lars Hanisch wrote:
 Hi,
 
   while working on a small test app which repacks the ivtv-PS into a TS, I 
 received a sample from a cx18-based card. The 
 TS contains the video PID 301, audio PID 300 and PCR pid 101.
 
   Where do these PIDs come from, are they set by the driver or are they 
 firmware given?

For analog captures, for which the firmware creates the TS, the firmware
sets them.


   Is it possible to change them?

It is not possible to tell the firmware to change them.  There are two
documented CX23418 API commands in cx23418.h:

CX18_CPU_SET_VIDEO_PID
CX18_CPU_SET_AUDIO_PID

Unfortunately, I know they do nothing and will always directly return
0x200800ff, which is a CX23418 API error code.

Regards,
Andy

 Regards,
 Lars.


--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] tlg2300: cleanups when power management is not configured

2010-02-28 Thread Németh Márton
From: Márton Németh nm...@freemail.hu

When power management is not configured (CONFIG_PM) then some code is no longer
necessary.

This patch will remove the following compiler warnings:
 * pd-dvb.c: In function 'poseidon_fe_release':
 * pd-dvb.c:101: warning: unused variable 'pd'
 * pd-video.c:14: warning: 'pm_video_suspend' declared 'static' but never 
defined
 * pd-video.c:15: warning: 'pm_video_resume' declared 'static' but never defined

Signed-off-by: Márton Németh nm...@freemail.hu
---
diff -r 37581bb7e6f1 linux/drivers/media/video/tlg2300/pd-dvb.c
--- a/linux/drivers/media/video/tlg2300/pd-dvb.cWed Feb 24 22:48:50 
2010 -0300
+++ b/linux/drivers/media/video/tlg2300/pd-dvb.cSun Feb 28 15:13:05 
2010 +0100
@@ -96,15 +96,17 @@
return ret;
 }

+#ifdef CONFIG_PM
 static void poseidon_fe_release(struct dvb_frontend *fe)
 {
struct poseidon *pd = fe-demodulator_priv;

-#ifdef CONFIG_PM
pd-pm_suspend = NULL;
pd-pm_resume  = NULL;
+}
+#else
+#define poseidon_fe_release NULL
 #endif
-}

 static s32 poseidon_fe_sleep(struct dvb_frontend *fe)
 {
diff -r 37581bb7e6f1 linux/drivers/media/video/tlg2300/pd-video.c
--- a/linux/drivers/media/video/tlg2300/pd-video.c  Wed Feb 24 22:48:50 
2010 -0300
+++ b/linux/drivers/media/video/tlg2300/pd-video.c  Sun Feb 28 15:13:05 
2010 +0100
@@ -11,8 +11,10 @@
 #include pd-common.h
 #include vendorcmds.h

+#ifdef CONFIG_PM
 static int pm_video_suspend(struct poseidon *pd);
 static int pm_video_resume(struct poseidon *pd);
+#endif
 static void iso_bubble_handler(struct work_struct *w);

 int usb_transfer_mode;
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] nGene: use NULL when pointer is needed

2010-02-28 Thread Németh Márton
From: Márton Németh nm...@freemail.hu

Use NULL when calling a function with pointer parameter, initializing a
pointer and returning a pointer. This will remove the following sparse
warning at different locations (see make C=1):
 * warning: Using plain integer as NULL pointer

Signed-off-by: Márton Németh nm...@freemail.hu
---
diff -r 37581bb7e6f1 linux/drivers/media/dvb/ngene/ngene-core.c
--- a/linux/drivers/media/dvb/ngene/ngene-core.cWed Feb 24 22:48:50 
2010 -0300
+++ b/linux/drivers/media/dvb/ngene/ngene-core.cSun Feb 28 15:28:56 
2010 +0100
@@ -994,7 +994,7 @@
 msg[0].buf, msg[0].len))
goto done;
if (num == 1  (msg[0].flags  I2C_M_RD))
-   if (!ngene_command_i2c_read(dev, msg[0].addr, 0, 0,
+   if (!ngene_command_i2c_read(dev, msg[0].addr, NULL, 0,
msg[0].buf, msg[0].len, 0))
goto done;

@@ -1793,7 +1793,7 @@
if (chan-users  0)
 #endif
dvb_dmx_swfilter(chan-demux, buf, len);
-   return 0;
+   return NULL;
 }

 u8 fill_ts[188] = { 0x47, 0x1f, 0xff, 0x10 };
@@ -1900,7 +1900,7 @@
   state);
if (!state) {
spin_lock_irq(chan-state_lock);
-   chan-pBufferExchange = 0;
+   chan-pBufferExchange = NULL;
dvb_ringbuffer_flush(dev-tsout_rbuf);
spin_unlock_irq(chan-state_lock);
}
@@ -2226,7 +2226,7 @@
dvbdemux-feednum = 256;
dvbdemux-start_feed = start_feed;
dvbdemux-stop_feed = stop_feed;
-   dvbdemux-write_to_decoder = 0;
+   dvbdemux-write_to_decoder = NULL;
dvbdemux-dmx.capabilities = (DMX_TS_FILTERING |
  DMX_SECTION_FILTERING |
  DMX_MEMORY_BASED_FILTERING);
@@ -2383,8 +2383,8 @@
return;
free_ringbuffer(dev, rb);
for (j = 0; j  tb-NumBuffers; j++, Cur = Cur-Next) {
-   Cur-Buffer2 = 0;
-   Cur-scList2 = 0;
+   Cur-Buffer2 = NULL;
+   Cur-scList2 = NULL;
Cur-ngeneBuffer.Address_of_first_entry_2 = 0;
Cur-ngeneBuffer.Number_of_entries_2 = 0;
}
@@ -2430,7 +2430,7 @@
u64 PARingBufferNext;
struct SBufferHeader *Cur, *Next;

-   descr-Head = 0;
+   descr-Head = NULL;
descr-MemSize = 0;
descr-PAHead = 0;
descr-NumBuffers = 0;
@@ -3619,7 +3619,7 @@
if (chan-fe) {
dvb_unregister_frontend(chan-fe);
dvb_frontend_detach(chan-fe);
-   chan-fe = 0;
+   chan-fe = NULL;
}
dvbdemux-dmx.close(dvbdemux-dmx);
dvbdemux-dmx.remove_frontend(dvbdemux-dmx,
@@ -3765,7 +3765,7 @@
release_channel(dev-channel[i]);
ngene_stop(dev);
ngene_release_buffers(dev);
-   pci_set_drvdata(pdev, 0);
+   pci_set_drvdata(pdev, NULL);
pci_disable_device(pdev);
 }

@@ -3840,7 +3840,7 @@
ngene_release_buffers(dev);
 fail0:
pci_disable_device(pci_dev);
-   pci_set_drvdata(pci_dev, 0);
+   pci_set_drvdata(pci_dev, NULL);
return stat;
 }

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Analog TV issue with Empire Dual TV (probably wrong GPIO analogue setting)

2010-02-28 Thread andrea.amoros...@gmail.com

Hi to all,
I've tried my Empire Dual TV usb device which is supported and correctly 
recognized by the kernel.

Digital TV works, but analogue tv is slow and with no audio.
I suppose that there is something wrong in the GPIO analogue setting.
I would like to know what I can do to solve the issue.
I can take an usbsnoop using windows XP virtualized with virtualbox (if 
feasible it is my first choice) or under windows Vista.
In any case I need to know if, using usbsnoop, it is sufficient to open 
the program used to watch analogue tv or it is needed to tune a channel 
to obtain the data needed to reverse engineering the GPIO analogue setting.
Finally, even if I obtain the correct usbsnoop, I'm not able to read it 
to extract GPIO. Is there somewhere an howto?

Thank you,
Andrea
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] tlg2300: make local variables and functions static

2010-02-28 Thread Németh Márton
From: Márton Németh nm...@freemail.hu

Make the local variables and functions static. Some of them are not exported by 
their
symbol name but used trough other means. For example a pointer of the operation
structure is passed through a function call.

This will remove the following sparse warnings (see make C=1):
 * pd-video.c:20:5: warning: symbol 'usb_transfer_mode' was not declared. 
Should it be static?
 * pd-video.c:621:5: warning: symbol 'fire_all_urb' was not declared. Should it 
be static?
 * pd-video.c:881:5: warning: symbol 'vidioc_s_std' was not declared. Should it 
be static?
 * pd-video.c:1024:5: warning: symbol 'vidioc_g_audio' was not declared. Should 
it be static?
 * pd-video.c:1033:5: warning: symbol 'vidioc_s_audio' was not declared. Should 
it be static?
 * pd-video.c:1193:5: warning: symbol 'usb_transfer_stop' was not declared. 
Should it be static?
 * pd-video.c:1522:14: warning: symbol 'pd_video_poll' was not declared. Should 
it be static?
 * pd-video.c:1528:9: warning: symbol 'pd_video_read' was not declared. Should 
it be static?
 * pd-radio.c:164:5: warning: symbol 'tlg_fm_vidioc_g_tuner' was not declared. 
Should it be static?
 * pd-radio.c:206:5: warning: symbol 'fm_get_freq' was not declared. Should it 
be static?
 * pd-radio.c:249:5: warning: symbol 'fm_set_freq' was not declared. Should it 
be static?
 * pd-radio.c:261:5: warning: symbol 'tlg_fm_vidioc_g_ctrl' was not declared. 
Should it be static?
 * pd-radio.c:267:5: warning: symbol 'tlg_fm_vidioc_g_exts_ctrl' was not 
declared. Should it be static?
 * pd-radio.c:288:5: warning: symbol 'tlg_fm_vidioc_s_exts_ctrl' was not 
declared. Should it be static?
 * pd-radio.c:315:5: warning: symbol 'tlg_fm_vidioc_s_ctrl' was not declared. 
Should it be static?
 * pd-radio.c:321:5: warning: symbol 'tlg_fm_vidioc_queryctrl' was not 
declared. Should it be static?
 * pd-radio.c:340:5: warning: symbol 'tlg_fm_vidioc_querymenu' was not 
declared. Should it be static?
 * pd-main.c:58:12: warning: symbol 'firmware_name' was not declared. Should it 
be static?
 * pd-main.c:59:19: warning: symbol 'poseidon_driver' was not declared. Should 
it be static?

Signed-off-by: Márton Németh nm...@freemail.hu
---
diff -upr v4l-dvb.orig/linux/drivers/media/video/tlg2300/pd-main.c 
v4l-dvb/linux/drivers/media/video/tlg2300/pd-main.c
--- v4l-dvb.orig/linux/drivers/media/video/tlg2300/pd-main.c2010-02-28 
14:54:31.0 +0100
+++ v4l-dvb/linux/drivers/media/video/tlg2300/pd-main.c 2010-02-28 
15:49:10.0 +0100
@@ -55,8 +55,8 @@ int debug_mode;
 module_param(debug_mode, int, 0644);
 MODULE_PARM_DESC(debug_mode, 0 = disable, 1 = enable, 2 = verbose);

-const char *firmware_name = tlg2300_firmware.bin;
-struct usb_driver poseidon_driver;
+static const char *firmware_name = tlg2300_firmware.bin;
+static struct usb_driver poseidon_driver;
 static LIST_HEAD(pd_device_list);

 /*
@@ -501,7 +501,7 @@ static void poseidon_disconnect(struct u
kref_put(pd-kref, poseidon_delete);
 }

-struct usb_driver poseidon_driver = {
+static struct usb_driver poseidon_driver = {
.name   = poseidon,
.probe  = poseidon_probe,
.disconnect = poseidon_disconnect,
diff -upr v4l-dvb.orig/linux/drivers/media/video/tlg2300/pd-radio.c 
v4l-dvb/linux/drivers/media/video/tlg2300/pd-radio.c
--- v4l-dvb.orig/linux/drivers/media/video/tlg2300/pd-radio.c   2010-02-28 
14:54:31.0 +0100
+++ v4l-dvb/linux/drivers/media/video/tlg2300/pd-radio.c2010-02-28 
15:48:07.0 +0100
@@ -161,7 +161,7 @@ static const struct v4l2_file_operations
.ioctl = video_ioctl2,
 };

-int tlg_fm_vidioc_g_tuner(struct file *file, void *priv, struct v4l2_tuner *vt)
+static int tlg_fm_vidioc_g_tuner(struct file *file, void *priv, struct 
v4l2_tuner *vt)
 {
struct tuner_fm_sig_stat_s fm_stat = {};
int ret, status, count = 5;
@@ -203,7 +203,7 @@ int tlg_fm_vidioc_g_tuner(struct file *f
return 0;
 }

-int fm_get_freq(struct file *file, void *priv, struct v4l2_frequency *argp)
+static int fm_get_freq(struct file *file, void *priv, struct v4l2_frequency 
*argp)
 {
struct poseidon *p = file-private_data;

@@ -246,7 +246,7 @@ error:
return ret;
 }

-int fm_set_freq(struct file *file, void *priv, struct v4l2_frequency *argp)
+static int fm_set_freq(struct file *file, void *priv, struct v4l2_frequency 
*argp)
 {
struct poseidon *p = file-private_data;

@@ -258,13 +258,13 @@ int fm_set_freq(struct file *file, void
return set_frequency(p, argp-frequency);
 }

-int tlg_fm_vidioc_g_ctrl(struct file *file, void *priv,
+static int tlg_fm_vidioc_g_ctrl(struct file *file, void *priv,
struct v4l2_control *arg)
 {
return 0;
 }

-int tlg_fm_vidioc_g_exts_ctrl(struct file *file, void *fh,
+static int tlg_fm_vidioc_g_exts_ctrl(struct file *file, void *fh,
struct v4l2_ext_controls *ctrls)
 {
struct poseidon *p = 

Re: [PATCH 05/11] ov534: Fix setting manual exposure

2010-02-28 Thread Jean-Francois Moine
On Sat, 27 Feb 2010 21:20:22 +0100
Antonio Ospite osp...@studenti.unina.it wrote:

 Exposure is now a u16 value, both MSB and LSB are set, but values in
 the v4l2 control are limited to the interval [0,506] as 0x01fa (506)
 is the maximum observed value with AEC enabled.
[snip]
   .type= V4L2_CTRL_TYPE_INTEGER,
   .name= Exposure,
   .minimum = 0,
 - .maximum = 255,
 + .maximum = 506,
   .step= 1,
  #define EXPO_DEF 120
   .default_value = EXPO_DEF,

Hi Antonio,

Do we need a so high precision for the exposure? Just setting the
maximum value to 253 should solve the problem.

Cheers.

-- 
Ken ar c'hentañ | ** Breizh ha Linux atav! **
Jef |   http://moinejf.free.fr/
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 09/11] ov534: Cosmetics: fix indentation and hex digits

2010-02-28 Thread Jean-Francois Moine
On Sat, 27 Feb 2010 21:20:26 +0100
Antonio Ospite osp...@studenti.unina.it wrote:

   * Indent with tabs, not with spaces.
   * Less indentation for controls index comments.
[snip]
 -},
 +},
  };

I had preferred one more TAB for all controls.

-- 
Ken ar c'hentañ | ** Breizh ha Linux atav! **
Jef |   http://moinejf.free.fr/
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 10/11] ov534: Add Powerline Frequency control

2010-02-28 Thread Jean-Francois Moine
On Sat, 27 Feb 2010 21:20:27 +0100
Antonio Ospite osp...@studenti.unina.it wrote:

 +static int sd_querymenu(struct gspca_dev *gspca_dev,
 + struct v4l2_querymenu *menu)
 +{
 + switch (menu-id) {
 + case V4L2_CID_POWER_LINE_FREQUENCY:
 + switch (menu-index) {
 + case 0: /*
 V4L2_CID_POWER_LINE_FREQUENCY_50HZ */
 + strcpy((char *) menu-name, 50 Hz);
 + return 0;
 + case 1: /*
 V4L2_CID_POWER_LINE_FREQUENCY_60HZ */
 + strcpy((char *) menu-name, 60 Hz);
 + return 0;
 + }
 + break;
 + }
 +
 + return -EINVAL;
 +}

In videodev2.h, there is:

V4L2_CID_POWER_LINE_FREQUENCY_50HZ  = 1,
V4L2_CID_POWER_LINE_FREQUENCY_60HZ  = 2,

-- 
Ken ar c'hentañ | ** Breizh ha Linux atav! **
Jef |   http://moinejf.free.fr/
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 05/11] ov534: Fix setting manual exposure

2010-02-28 Thread Antonio Ospite
On Sun, 28 Feb 2010 19:38:14 +0100
Jean-Francois Moine moin...@free.fr wrote:

 On Sat, 27 Feb 2010 21:20:22 +0100
 Antonio Ospite osp...@studenti.unina.it wrote:
 
  Exposure is now a u16 value, both MSB and LSB are set, but values in
  the v4l2 control are limited to the interval [0,506] as 0x01fa (506)
  is the maximum observed value with AEC enabled.
   [snip]
  .type= V4L2_CTRL_TYPE_INTEGER,
  .name= Exposure,
  .minimum = 0,
  -   .maximum = 255,
  +   .maximum = 506,
  .step= 1,
   #define EXPO_DEF 120
  .default_value = EXPO_DEF,
 
 Hi Antonio,
 
 Do we need a so high precision for the exposure? Just setting the
 maximum value to 253 should solve the problem.


JF, the intent here is to cover all the range of values available in
Auto Exposure mode too, doesn't this make sense to you?

I could set .maximum to 253 to limit the UI control precision but then
I should use 2*value when setting the registers in order to cover the
actual max value, this looks a little unclean.

Anyhow, let me know what you prefer, I have no strong feelings on that.
If you want to save a byte, I'll agree.

Regards,
   Antonio

-- 
Antonio Ospite
http://ao2.it

PGP public key ID: 0x4553B001

A: Because it messes up the order in which people normally read text.
   See http://en.wikipedia.org/wiki/Posting_style
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?


pgp9LFJ2MkYGn.pgp
Description: PGP signature


Re: [PATCH 09/11] ov534: Cosmetics: fix indentation and hex digits

2010-02-28 Thread Antonio Ospite
On Sun, 28 Feb 2010 19:46:36 +0100
Jean-Francois Moine moin...@free.fr wrote:

 On Sat, 27 Feb 2010 21:20:26 +0100
 Antonio Ospite osp...@studenti.unina.it wrote:
 
* Indent with tabs, not with spaces.
* Less indentation for controls index comments.
   [snip]
  -},
  +},
   };
 
 I had preferred one more TAB for all controls.

I found it redundant, but I am preparing a v2 patch as per your request
now.

I'll also need to refresh patch 10, will send a v2 for it too after
discussing your comments on that one.

Regards,
   Antonio

-- 
Antonio Ospite
http://ao2.it

PGP public key ID: 0x4553B001

A: Because it messes up the order in which people normally read text.
   See http://en.wikipedia.org/wiki/Posting_style
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?


pgp3BMRUIwUY1.pgp
Description: PGP signature


Re: [PATCH 10/11] ov534: Add Powerline Frequency control

2010-02-28 Thread Antonio Ospite
On Sun, 28 Feb 2010 19:49:51 +0100
Jean-Francois Moine moin...@free.fr wrote:

 On Sat, 27 Feb 2010 21:20:27 +0100
 Antonio Ospite osp...@studenti.unina.it wrote:
 
  +static int sd_querymenu(struct gspca_dev *gspca_dev,
  +   struct v4l2_querymenu *menu)
  +{
  +   switch (menu-id) {
  +   case V4L2_CID_POWER_LINE_FREQUENCY:
  +   switch (menu-index) {
  +   case 0: /*
  V4L2_CID_POWER_LINE_FREQUENCY_50HZ */
  +   strcpy((char *) menu-name, 50 Hz);
  +   return 0;
  +   case 1: /*
  V4L2_CID_POWER_LINE_FREQUENCY_60HZ */
  +   strcpy((char *) menu-name, 60 Hz);
  +   return 0;
  +   }
  +   break;
  +   }
  +
  +   return -EINVAL;
  +}
 
 In videodev2.h, there is:
 
 V4L2_CID_POWER_LINE_FREQUENCY_50HZ  = 1,
 V4L2_CID_POWER_LINE_FREQUENCY_60HZ  = 2,


Maybe we could just use
V4L2_CID_POWER_LINE_FREQUENCY_DISABLED  = 0,
V4L2_CID_POWER_LINE_FREQUENCY_50HZ  = 1,

It looks like the code matches the DISABLED state (writing 0 to the
register). Mosalam?

Regards,
   Antonio

-- 
Antonio Ospite
http://ao2.it

PGP public key ID: 0x4553B001

A: Because it messes up the order in which people normally read text.
   See http://en.wikipedia.org/wiki/Posting_style
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?


pgp2X3jNIt1Rk.pgp
Description: PGP signature


Re: [PATCH 1/3] add feedback LED control

2010-02-28 Thread Jean-Francois Moine
On Sun, 28 Feb 2010 08:55:04 +0100
Németh Márton nm...@freemail.hu wrote:

 On some webcams a feedback LED can be found. This LED usually shows
 the state of streaming mode: this is the Auto mode. The LED can
 be programmed to constantly switched off state (e.g. for power saving
 reasons, preview mode) or on state (e.g. the application shows motion
 detection or on-air).

Hi,

There may be many LEDs on the webcams. One LED may be used for
the streaming state, Some other ones may be used to give more light in
dark rooms. One webcam, the microscope 093a:050f, has a top and a bottom
lights/illuminators; an other one, the MSI StarCam 370i 0c45:60c0, has
an infra-red light.

That's why I proposed to have bit fields in the control value to switch
on/off each LED.

Cheers.

-- 
Ken ar c'hentañ | ** Breizh ha Linux atav! **
Jef |   http://moinejf.free.fr/
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/3] add feedback LED control

2010-02-28 Thread Németh Márton
Jean-Francois Moine wrote:
 On Sun, 28 Feb 2010 08:55:04 +0100
 Németh Márton nm...@freemail.hu wrote:
 
 On some webcams a feedback LED can be found. This LED usually shows
 the state of streaming mode: this is the Auto mode. The LED can
 be programmed to constantly switched off state (e.g. for power saving
 reasons, preview mode) or on state (e.g. the application shows motion
 detection or on-air).
 
 Hi,
 
 There may be many LEDs on the webcams. One LED may be used for
 the streaming state, Some other ones may be used to give more light in
 dark rooms. One webcam, the microscope 093a:050f, has a top and a bottom
 lights/illuminators; an other one, the MSI StarCam 370i 0c45:60c0, has
 an infra-red light.
 
 That's why I proposed to have bit fields in the control value to switch
 on/off each LED.

With a bitfield on and off state can be specified. What about the auto mode?
Should two bits grouped together to have auto, on and off state? Is there
already a similar control?

Is the brightness of the background light LEDs adjustable or are they just 
on/off?
If yes, then maybe the feedback LEDs and the background light LEDs should be
treated as different kind.

Regards,

Márton Németh
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 05/11] ov534: Fix setting manual exposure

2010-02-28 Thread Jean-Francois Moine
On Sun, 28 Feb 2010 19:54:25 +0100
Antonio Ospite osp...@studenti.unina.it wrote:

 JF, the intent here is to cover all the range of values available in
 Auto Exposure mode too, doesn't this make sense to you?
 
 I could set .maximum to 253 to limit the UI control precision but
 then I should use 2*value when setting the registers in order to
 cover the actual max value, this looks a little unclean.
 
 Anyhow, let me know what you prefer, I have no strong feelings on
 that. If you want to save a byte, I'll agree.

Looking at the rare chip documents I got, I often saw internal control
values on 3 bytes (16 million values). Could anybody see the difference
between values v and (v+1)?

So, often, even when the internal controls are stored in only one byte,
the ms-win drivers propose only ranges as 0..30 or 0..100.

-- 
Ken ar c'hentañ | ** Breizh ha Linux atav! **
Jef |   http://moinejf.free.fr/
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[cron job] v4l-dvb daily build 2.6.22 and up: ERRORS, 2.6.16-2.6.21: ERRORS

2010-02-28 Thread Hans Verkuil
This message is generated daily by a cron job that builds v4l-dvb for
the kernels and architectures in the list below.

Results of the daily build of v4l-dvb:

date:Sun Feb 28 19:00:21 CET 2010
path:http://www.linuxtv.org/hg/v4l-dvb
changeset:   14319:37581bb7e6f1
gcc version: i686-linux-gcc (GCC) 4.4.3
host hardware:x86_64
host os: 2.6.32.5

linux-2.6.32.6-armv5: OK
linux-2.6.33-armv5: OK
linux-2.6.32.6-armv5-davinci: WARNINGS
linux-2.6.33-armv5-davinci: WARNINGS
linux-2.6.32.6-armv5-dm365: ERRORS
linux-2.6.33-armv5-dm365: ERRORS
linux-2.6.32.6-armv5-ixp: OK
linux-2.6.33-armv5-ixp: OK
linux-2.6.32.6-armv5-omap2: OK
linux-2.6.33-armv5-omap2: OK
linux-2.6.22.19-i686: OK
linux-2.6.23.17-i686: OK
linux-2.6.24.7-i686: OK
linux-2.6.25.20-i686: OK
linux-2.6.26.8-i686: OK
linux-2.6.27.44-i686: OK
linux-2.6.28.10-i686: OK
linux-2.6.29.1-i686: WARNINGS
linux-2.6.30.10-i686: WARNINGS
linux-2.6.31.12-i686: OK
linux-2.6.32.6-i686: OK
linux-2.6.33-i686: OK
linux-2.6.32.6-m32r: OK
linux-2.6.33-m32r: OK
linux-2.6.32.6-mips: OK
linux-2.6.33-mips: OK
linux-2.6.32.6-powerpc64: WARNINGS
linux-2.6.33-powerpc64: WARNINGS
linux-2.6.22.19-x86_64: OK
linux-2.6.23.17-x86_64: OK
linux-2.6.24.7-x86_64: OK
linux-2.6.25.20-x86_64: OK
linux-2.6.26.8-x86_64: OK
linux-2.6.27.44-x86_64: OK
linux-2.6.28.10-x86_64: OK
linux-2.6.29.1-x86_64: WARNINGS
linux-2.6.30.10-x86_64: WARNINGS
linux-2.6.31.12-x86_64: OK
linux-2.6.32.6-x86_64: OK
linux-2.6.33-x86_64: OK
spec: OK
sparse (linux-2.6.33): ERRORS
linux-2.6.16.62-i686: ERRORS
linux-2.6.17.14-i686: ERRORS
linux-2.6.18.8-i686: OK
linux-2.6.19.7-i686: OK
linux-2.6.20.21-i686: OK
linux-2.6.21.7-i686: OK
linux-2.6.16.62-x86_64: ERRORS
linux-2.6.17.14-x86_64: ERRORS
linux-2.6.18.8-x86_64: OK
linux-2.6.19.7-x86_64: OK
linux-2.6.20.21-x86_64: OK
linux-2.6.21.7-x86_64: OK

Detailed results are available here:

http://www.xs4all.nl/~hverkuil/logs/Sunday.log

Full logs are available here:

http://www.xs4all.nl/~hverkuil/logs/Sunday.tar.bz2

The V4L-DVB specification from this daily build is here:

http://www.xs4all.nl/~hverkuil/spec/media.html
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 10/11] ov534: Add Powerline Frequency control

2010-02-28 Thread Jean-Francois Moine
On Sun, 28 Feb 2010 20:18:50 +0100
Antonio Ospite osp...@studenti.unina.it wrote:

 Maybe we could just use
   V4L2_CID_POWER_LINE_FREQUENCY_DISABLED  = 0,
   V4L2_CID_POWER_LINE_FREQUENCY_50HZ  = 1,
 
 It looks like the code matches the DISABLED state (writing 0 to the
 register). Mosalam?

I don't know the ov772x sensor. I think it should look like the ov7670
where there are 3 registers to control the light frequency: one
register tells if light frequency filter must be used, and which
frequency 50Hz or 60Hz; the two other ones give the filter values for
each frequency.

-- 
Ken ar c'hentañ | ** Breizh ha Linux atav! **
Jef |   http://moinejf.free.fr/
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/2] New driver for MI2020 sensor with GL860 bridge

2010-02-28 Thread Olivier Lorin
gspca - gl860: updates to prepare the new driver for MI2020 sensor

From: Olivier Lorin o.lo...@laposte.net

- General changes for all drivers because of new MI2020 sensor driver :
  - add the light source control
  - control value changes only applied after an end of image
  - replace msleep with duration less than 5 ms by a busy loop
- Fix for an irrelevant OV9655 image resolution identifier name

Priority: normal

Signed-off-by: Olivier Lorin o.lo...@laposte.net

diff
-rupN ../o/linux/drivers/media/video/gspca/gl860/gl860.c 
./linux/drivers/media/video/gspca/gl860/gl860.c
--- ../o/linux/drivers/media/video/gspca/gl860/gl860.c  2010-02-18
19:02:51.0 +0100
+++ ./linux/drivers/media/video/gspca/gl860/gl860.c 2010-02-28
15:04:52.0 +0100
@@ -63,7 +63,7 @@ static int sd_set_##thename(struct gspca
 \
sd-vcur.thename = val;\
if (gspca_dev-streaming)\
-   sd-dev_camera_settings(gspca_dev);\
+   sd-waitSet = 1;\
return 0;\
 } \
 static int sd_get_##thename(struct gspca_dev *gspca_dev, s32 *val)\
@@ -85,8 +85,10 @@ SD_SETGET(saturation)
 SD_SETGET(sharpness)
 SD_SETGET(whitebal)
 SD_SETGET(contrast)
+SD_SETGET(lightsource)
 
-#define GL860_NCTRLS 11
+#define GL860_NCTRLS 12
+#define V4L2_CID_LIGHT_SOURCE (V4L2_CID_PRIVATE_BASE + 0)
 
 /* control table */
 static struct ctrl sd_ctrls_mi1320[GL860_NCTRLS];
@@ -148,6 +150,8 @@ static int gl860_build_control_table(str
V4L2_CTRL_TYPE_INTEGER, White Bal., whitebal)
SET_MY_CTRL(V4L2_CID_BACKLIGHT_COMPENSATION,
V4L2_CTRL_TYPE_INTEGER, Backlight , backlight)
+   SET_MY_CTRL(V4L2_CID_LIGHT_SOURCE,
+   V4L2_CTRL_TYPE_INTEGER, Light Source , lightsource)
 
SET_MY_CTRL(V4L2_CID_HFLIP,
V4L2_CTRL_TYPE_BOOLEAN, Mirror, mirror)
@@ -620,10 +624,7 @@ int gl860_RTx(struct gspca_dev *gspca_de
else if (len  1  r  len)
PDEBUG(D_ERR, short ctrl transfer %d/%d, r, len);
 
-   if ((_MI2020_ || _MI2020b_ || _MI2020c_)  (val || index))
-   msleep(1);
-   if (_OV2640_)
-   msleep(1);
+   udelay(850);
 
return r;
 }
@@ -638,8 +639,10 @@ int fetch_validx(struct gspca_dev *gspca
tbl[n].idx, 0, NULL);
else if (tbl[n].val == 0x)
break;
-   else
+   else if (tbl[n].val  5)
msleep(tbl[n].val);
+   else
+   mdelay(tbl[n].val);
}
return n;
 }
@@ -653,8 +656,10 @@ int keep_on_fetching_validx(struct gspca
0, NULL);
else if (tbl[n].val == 0x)
break;
-   else
+   else if (tbl[n].val  5)
msleep(tbl[n].val);
+   else
+   mdelay(tbl[n].val);
}
return n;
 }
@@ -667,8 +672,10 @@ void fetch_idxdata(struct gspca_dev *gsp
if (memcmp(tbl[n].data, \xff\xff\xff, 3) != 0)
ctrl_out(gspca_dev, 0x40, 3, 0x7a00, tbl[n].idx,
3, tbl[n].data);
-   else
+   else if (tbl[n].idx  5)
msleep(tbl[n].idx);
+   else
+   mdelay(tbl[n].idx);
}
 }
 
diff
-rupN ../o/linux/drivers/media/video/gspca/gl860/gl860.h 
./linux/drivers/media/video/gspca/gl860/gl860.h
--- ../o/linux/drivers/media/video/gspca/gl860/gl860.h  2010-02-18
19:02:51.0 +0100
+++ ./linux/drivers/media/video/gspca/gl860/gl860.h 2010-02-28
15:02:12.0 +0100
@@ -44,7 +44,7 @@
 #define IMAGE_640   0
 #define IMAGE_800   1
 #define IMAGE_1280  2
-#define IMAGE_1600 3
+#define IMAGE_1600  3
 
 struct sd_gl860 {
u16 backlight;
@@ -58,6 +58,7 @@ struct sd_gl860 {
u8  mirror;
u8  flip;
u8  AC50Hz;
+   u8  lightsource;
 };
 
 /* Specific webcam descriptor */
diff
-rupN ../o/linux/drivers/media/video/gspca/gl860/gl860-mi1320.c 
./linux/drivers/media/video/gspca/gl860/gl860-mi1320.c
--- ../o/linux/drivers/media/video/gspca/gl860/gl860-mi1320.c   2010-02-18
19:02:51.0 +0100
+++ ./linux/drivers/media/video/gspca/gl860/gl860-mi1320.c  2010-02-28
15:01:20.0 +0100
@@ -206,6 +206,7 @@ void mi1320_init_settings(struct gspca_d
sd-vmax.hue=  5 + 1;
sd-vmax.saturation =  8;
sd-vmax.whitebal   =  2;
+   sd-vmax.lightsource = 0;
sd-vmax.mirror = 1;
sd-vmax.flip   = 1;
sd-vmax.AC50Hz = 1;
diff
-rupN ../o/linux/drivers/media/video/gspca/gl860/gl860-mi2020.c 
./linux/drivers/media/video/gspca/gl860/gl860-mi2020.c
--- ../o/linux/drivers/media/video/gspca/gl860/gl860-mi2020.c   2010-02-18
19:02:51.0 +0100
+++ ./linux/drivers/media/video/gspca/gl860/gl860-mi2020.c  2010-02-28
15:09:46.0 +0100
@@ -361,9 

Mantis not in modules.pcimap

2010-02-28 Thread Helmut Auer
Hello,

The mantis module is build and working fine with the Skystar2 HD, but it I 
cannot autodetect it,
because modules.pcimap is not filled with the vendor id of the card using this 
module.
What's to do  to get these ID's ?
In my case its a:

01:08.0 0480: 1822:4e35 (rev 01)
Subsystem: 1ae4:0003
Flags: bus master, medium devsel, latency 32, IRQ 16
Memory at fddff000 (32-bit, prefetchable) [size=4K]

-- 
Helmut Auer, hel...@helmutauer.de
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Mantis not in modules.pcimap

2010-02-28 Thread Manu Abraham
On Mon, Mar 1, 2010 at 3:07 AM, Helmut Auer v...@helmutauer.de wrote:
 Hello,

 The mantis module is build and working fine with the Skystar2 HD, but it I 
 cannot autodetect it,
 because modules.pcimap is not filled with the vendor id of the card using 
 this module.
 What's to do  to get these ID's ?
 In my case its a:

 01:08.0 0480: 1822:4e35 (rev 01)
        Subsystem: 1ae4:0003
        Flags: bus master, medium devsel, latency 32, IRQ 16
        Memory at fddff000 (32-bit, prefetchable) [size=4K]



You can use this fix. http://jusst.de/hg/mantis-v4l-dvb/rev/6f3e1db2432a

Regards,
Manu
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Mantis not in modules.pcimap

2010-02-28 Thread Andy Walls
On Mon, 2010-03-01 at 00:07 +0100, Helmut Auer wrote:
 Hello,
 
 The mantis module is build and working fine with the Skystar2 HD, but it I 
 cannot autodetect it,
 because modules.pcimap is not filled with the vendor id of the card using 
 this module.
 What's to do  to get these ID's ?
 In my case its a:
 
 01:08.0 0480: 1822:4e35 (rev 01)
   Subsystem: 1ae4:0003
   Flags: bus master, medium devsel, latency 32, IRQ 16
   Memory at fddff000 (32-bit, prefetchable) [size=4K]

Running 

 # depmod -a

as root should have added it.  The mantis driver is likely missing a
MODULE_DEVICE_TABLE() macro invocation.

Cc:-ing Manu.

Regards,
Andy

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Mantis not in modules.pcimap

2010-02-28 Thread Manu Abraham
On Mon, Mar 1, 2010 at 4:58 AM, Andy Walls awa...@radix.net wrote:
 On Mon, 2010-03-01 at 00:07 +0100, Helmut Auer wrote:
 Hello,

 The mantis module is build and working fine with the Skystar2 HD, but it I 
 cannot autodetect it,
 because modules.pcimap is not filled with the vendor id of the card using 
 this module.
 What's to do  to get these ID's ?
 In my case its a:

 01:08.0 0480: 1822:4e35 (rev 01)
       Subsystem: 1ae4:0003
       Flags: bus master, medium devsel, latency 32, IRQ 16
       Memory at fddff000 (32-bit, prefetchable) [size=4K]

 Running

  # depmod -a

 as root should have added it.  The mantis driver is likely missing a
 MODULE_DEVICE_TABLE() macro invocation.

 Cc:-ing Manu.

Andy, Thanks.  I just replied to the same .. :-)

Regards,
Manu
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] tlg2300: make local variables and functions static

2010-02-28 Thread Huang Shijie



From: Márton Némethnm...@freemail.hu

Make the local variables and functions static. Some of them are not exported by 
their
symbol name but used trough other means. For example a pointer of the operation
structure is passed through a function call.

This will remove the following sparse warnings (see make C=1):
  * pd-video.c:20:5: warning: symbol 'usb_transfer_mode' was not declared. 
Should it be static?
  * pd-video.c:621:5: warning: symbol 'fire_all_urb' was not declared. Should 
it be static?
  * pd-video.c:881:5: warning: symbol 'vidioc_s_std' was not declared. Should 
it be static?
  * pd-video.c:1024:5: warning: symbol 'vidioc_g_audio' was not declared. 
Should it be static?
  * pd-video.c:1033:5: warning: symbol 'vidioc_s_audio' was not declared. 
Should it be static?
  * pd-video.c:1193:5: warning: symbol 'usb_transfer_stop' was not declared. 
Should it be static?
  * pd-video.c:1522:14: warning: symbol 'pd_video_poll' was not declared. 
Should it be static?
  * pd-video.c:1528:9: warning: symbol 'pd_video_read' was not declared. Should 
it be static?
  * pd-radio.c:164:5: warning: symbol 'tlg_fm_vidioc_g_tuner' was not declared. 
Should it be static?
  * pd-radio.c:206:5: warning: symbol 'fm_get_freq' was not declared. Should it 
be static?
  * pd-radio.c:249:5: warning: symbol 'fm_set_freq' was not declared. Should it 
be static?
  * pd-radio.c:261:5: warning: symbol 'tlg_fm_vidioc_g_ctrl' was not declared. 
Should it be static?
  * pd-radio.c:267:5: warning: symbol 'tlg_fm_vidioc_g_exts_ctrl' was not 
declared. Should it be static?
  * pd-radio.c:288:5: warning: symbol 'tlg_fm_vidioc_s_exts_ctrl' was not 
declared. Should it be static?
  * pd-radio.c:315:5: warning: symbol 'tlg_fm_vidioc_s_ctrl' was not declared. 
Should it be static?
  * pd-radio.c:321:5: warning: symbol 'tlg_fm_vidioc_queryctrl' was not 
declared. Should it be static?
  * pd-radio.c:340:5: warning: symbol 'tlg_fm_vidioc_querymenu' was not 
declared. Should it be static?
  * pd-main.c:58:12: warning: symbol 'firmware_name' was not declared. Should 
it be static?
  * pd-main.c:59:19: warning: symbol 'poseidon_driver' was not declared. Should 
it be static?

Signed-off-by: Márton Némethnm...@freemail.hu
---
diff -upr v4l-dvb.orig/linux/drivers/media/video/tlg2300/pd-main.c 
v4l-dvb/linux/drivers/media/video/tlg2300/pd-main.c
--- v4l-dvb.orig/linux/drivers/media/video/tlg2300/pd-main.c2010-02-28 
14:54:31.0 +0100
+++ v4l-dvb/linux/drivers/media/video/tlg2300/pd-main.c 2010-02-28 
15:49:10.0 +0100
@@ -55,8 +55,8 @@ int debug_mode;
  module_param(debug_mode, int, 0644);
  MODULE_PARM_DESC(debug_mode, 0 = disable, 1 = enable, 2 = verbose);

-const char *firmware_name = tlg2300_firmware.bin;
-struct usb_driver poseidon_driver;
+static const char *firmware_name = tlg2300_firmware.bin;
+static struct usb_driver poseidon_driver;
  static LIST_HEAD(pd_device_list);

  /*
@@ -501,7 +501,7 @@ static void poseidon_disconnect(struct u
kref_put(pd-kref, poseidon_delete);
  }

-struct usb_driver poseidon_driver = {
+static struct usb_driver poseidon_driver = {
.name   = poseidon,
.probe  = poseidon_probe,
.disconnect = poseidon_disconnect,
diff -upr v4l-dvb.orig/linux/drivers/media/video/tlg2300/pd-radio.c 
v4l-dvb/linux/drivers/media/video/tlg2300/pd-radio.c
--- v4l-dvb.orig/linux/drivers/media/video/tlg2300/pd-radio.c   2010-02-28 
14:54:31.0 +0100
+++ v4l-dvb/linux/drivers/media/video/tlg2300/pd-radio.c2010-02-28 
15:48:07.0 +0100
@@ -161,7 +161,7 @@ static const struct v4l2_file_operations
.ioctl = video_ioctl2,
  };

-int tlg_fm_vidioc_g_tuner(struct file *file, void *priv, struct v4l2_tuner *vt)
+static int tlg_fm_vidioc_g_tuner(struct file *file, void *priv, struct 
v4l2_tuner *vt)
  {
struct tuner_fm_sig_stat_s fm_stat = {};
int ret, status, count = 5;
@@ -203,7 +203,7 @@ int tlg_fm_vidioc_g_tuner(struct file *f
return 0;
  }

-int fm_get_freq(struct file *file, void *priv, struct v4l2_frequency *argp)
+static int fm_get_freq(struct file *file, void *priv, struct v4l2_frequency 
*argp)
  {
struct poseidon *p = file-private_data;

@@ -246,7 +246,7 @@ error:
return ret;
  }

-int fm_set_freq(struct file *file, void *priv, struct v4l2_frequency *argp)
+static int fm_set_freq(struct file *file, void *priv, struct v4l2_frequency 
*argp)
   
thanks. But Do you check the patch by script ./scripts/checkpatch.pl. 
This line will

cause :
 WARNING: line over 80 characters

Please change the patch again, and resend it to me.


  {
struct poseidon *p = file-private_data;

@@ -258,13 +258,13 @@ int fm_set_freq(struct file *file, void
return set_frequency(p, argp-frequency);
  }

-int tlg_fm_vidioc_g_ctrl(struct file *file, void *priv,
+static int tlg_fm_vidioc_g_ctrl(struct file *file, void *priv,
struct v4l2_control *arg)
  {
return 0;
  }

-int 

Re: Problems with Pinnacle 310i (saa7134) and recent kernels

2010-02-28 Thread hermann pitton
Hi Avl,

Am Samstag, den 20.02.2010, 11:49 + schrieb Avl Jawrowski:
 Hi, sorry for the late.
 
 hermann pitton hermann-pitton at arcor.de writes:
 
   But I can't see any video.
   With Kaffeine I can see the same channels as well.
  
  My guess is, kaffeine has a bit more trust in error correction,
  but you over all reception quality seems to be on a critical limit.
 
 In Kaffeine I see signal at 72% and SNR at 100% for that channel, so I don't
 think it's so bad.

yes, should be good enough.

  So it is still some sort of 310i, but you should mention the new name
  and that the remote chip on 0x47/0x8e is not detected.
 
 I add a note and some photos:
 
 http://www.linuxtv.org/wiki/index.php/Pinnacle_PCTV_(310i)
 
 Can I add any other useful information, log or photo?

We most likely need the former Pinnacle devs here, if not already fired.
Maybe Mike and Devin can agree these days on it and it seems some
work-flow does recover.

You can have from me all details for the early device I do have now,
after later ones caused more confusion, and of course can use all that
on the wiki.

Let me know, I'll sent photos off list then.

After latest on wiki stuff, I'm for sure not interested to have an
account and was always in doubt, how to separate developer announces and
user reports there.

I did vote for user reports, if in doubt, since you can't match all
conditions, at least for such cards I was involved, and did stay away,
even on worst wrong stuff you sometimes can read there.

Either that wiki idea works or not. In longer terms it should,
but can also become pretty crufty soon.

Cheers,
Hermann
 



--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[IR RC, REGRESSION] Didn't work IR RC

2010-02-28 Thread Dmitri Belimov
Hi All

After rework of the IR subsystem, IR RC no more work in our TV cards.
As I see 
call saa7134_probe_i2c_ir,
  configure i2c
  call i2c_new_device

New i2c device not registred.

The module kbd-i2c-ir loaded after i2c_new_device.

I try to found what happens.

With my best regards, Dmitry.
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


az6027: variables may be used uninitialized in az6027_i2c_xfer()

2010-02-28 Thread Németh Márton
Hi Adams,

Hans Verkuil wrote:
 This message is generated daily by a cron job that builds v4l-dvb for
 the kernels and architectures in the list below.
 [...]

 Detailed results are available here:
 
 http://www.xs4all.nl/~hverkuil/logs/Sunday.log


 linux-2.6.29.1-i686: WARNINGS

 /home/hans/work/build/v4l-dvb-master/v4l/az6027.c: In function 
 'az6027_i2c_xfer':
 /home/hans/work/build/v4l-dvb-master/v4l/az6027.c:942: warning: 'index' may 
 be used uninitialized in this function
 /home/hans/work/build/v4l-dvb-master/v4l/az6027.c:943: warning: 'value' may 
 be used uninitialized in this function
 /home/hans/work/build/v4l-dvb-master/v4l/az6027.c:944: warning: 'length' may 
 be used uninitialized in this function
 /home/hans/work/build/v4l-dvb-master/v4l/az6027.c:945: warning: 'req' may be 
 used uninitialized in this function

I checked what can cause these warning messages and found that in
line 990 of linux/drivers/media/dvb/dvb-usb/az6027.c the function
az6027_usb_out_op() is called. Before that call it seems that the
condition (msg[i].addr == 0xd0) is checked for the second time which
is redundant.

Regards,

Márton Németh
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] az6027: remove redundant condition check

2010-02-28 Thread Németh Márton
From: Márton Németh nm...@freemail.hu

The condition (msg[i].addr == 0xd0) is checked twice the second one
is not necessary.

This will remove the following compiler warning:
   az6027.c: In function 'az6027_i2c_xfer':
   az6027.c:942: warning: 'index' may be used uninitialized in this function
   az6027.c:943: warning: 'value' may be used uninitialized in this function
   az6027.c:944: warning: 'length' may be used uninitialized in this function
   az6027.c:945: warning: 'req' may be used uninitialized in this function

Signed-off-by: Márton Németh nm...@freemail.hu
---
diff -r 37581bb7e6f1 linux/drivers/media/dvb/dvb-usb/az6027.c
--- a/linux/drivers/media/dvb/dvb-usb/az6027.c  Wed Feb 24 22:48:50 2010 -0300
+++ b/linux/drivers/media/dvb/dvb-usb/az6027.c  Mon Mar 01 08:09:35 2010 +0100
@@ -976,17 +976,14 @@
i++;
} else {

-   if (msg[i].addr == 0xd0) {
-   /* demod 16bit addr */
-   req = 0xBD;
-   index = (((msg[i].buf[0]  8)  
0xff00) | (msg[i].buf[1]  0x00ff));
-   value = msg[i].addr + (2  8);
-   length = msg[i].len - 2;
-   len = msg[i].len - 2;
-   for (j = 0; j  len; j++)
-   data[j] = msg[i].buf[j + 2];
-
-   }
+   /* demod 16bit addr */
+   req = 0xBD;
+   index = (((msg[i].buf[0]  8)  0xff00) | 
(msg[i].buf[1]  0x00ff));
+   value = msg[i].addr + (2  8);
+   length = msg[i].len - 2;
+   len = msg[i].len - 2;
+   for (j = 0; j  len; j++)
+   data[j] = msg[i].buf[j + 2];
az6027_usb_out_op(d, req, value, index, data, 
length);
}
}

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] tlg2300: make local variables and functions static

2010-02-28 Thread Huang Shijie

thanks.

Acked-by: Huang Shijie shij...@gmail.com


From: Márton Némethnm...@freemail.hu

Make the local variables and functions static. Some of them are not exported by 
their
symbol name but used trough other means. For example a pointer of the operation
structure is passed through a function call.

This will remove the following sparse warnings (see make C=1):
  * pd-video.c:20:5: warning: symbol 'usb_transfer_mode' was not declared. 
Should it be static?
  * pd-video.c:621:5: warning: symbol 'fire_all_urb' was not declared. Should 
it be static?
  * pd-video.c:881:5: warning: symbol 'vidioc_s_std' was not declared. Should 
it be static?
  * pd-video.c:1024:5: warning: symbol 'vidioc_g_audio' was not declared. 
Should it be static?
  * pd-video.c:1033:5: warning: symbol 'vidioc_s_audio' was not declared. 
Should it be static?
  * pd-video.c:1193:5: warning: symbol 'usb_transfer_stop' was not declared. 
Should it be static?
  * pd-video.c:1522:14: warning: symbol 'pd_video_poll' was not declared. 
Should it be static?
  * pd-video.c:1528:9: warning: symbol 'pd_video_read' was not declared. Should 
it be static?
  * pd-radio.c:164:5: warning: symbol 'tlg_fm_vidioc_g_tuner' was not declared. 
Should it be static?
  * pd-radio.c:206:5: warning: symbol 'fm_get_freq' was not declared. Should it 
be static?
  * pd-radio.c:249:5: warning: symbol 'fm_set_freq' was not declared. Should it 
be static?
  * pd-radio.c:261:5: warning: symbol 'tlg_fm_vidioc_g_ctrl' was not declared. 
Should it be static?
  * pd-radio.c:267:5: warning: symbol 'tlg_fm_vidioc_g_exts_ctrl' was not 
declared. Should it be static?
  * pd-radio.c:288:5: warning: symbol 'tlg_fm_vidioc_s_exts_ctrl' was not 
declared. Should it be static?
  * pd-radio.c:315:5: warning: symbol 'tlg_fm_vidioc_s_ctrl' was not declared. 
Should it be static?
  * pd-radio.c:321:5: warning: symbol 'tlg_fm_vidioc_queryctrl' was not 
declared. Should it be static?
  * pd-radio.c:340:5: warning: symbol 'tlg_fm_vidioc_querymenu' was not 
declared. Should it be static?
  * pd-main.c:58:12: warning: symbol 'firmware_name' was not declared. Should 
it be static?
  * pd-main.c:59:19: warning: symbol 'poseidon_driver' was not declared. Should 
it be static?

Signed-off-by: Márton Némethnm...@freemail.hu
---
diff -upr v4l-dvb.orig/linux/drivers/media/video/tlg2300/pd-main.c 
v4l-dvb/linux/drivers/media/video/tlg2300/pd-main.c
--- v4l-dvb.orig/linux/drivers/media/video/tlg2300/pd-main.c2010-02-28 
14:54:31.0 +0100
+++ v4l-dvb/linux/drivers/media/video/tlg2300/pd-main.c 2010-02-28 
15:49:10.0 +0100
@@ -55,8 +55,8 @@ int debug_mode;
  module_param(debug_mode, int, 0644);
  MODULE_PARM_DESC(debug_mode, 0 = disable, 1 = enable, 2 = verbose);

-const char *firmware_name = tlg2300_firmware.bin;
-struct usb_driver poseidon_driver;
+static const char *firmware_name = tlg2300_firmware.bin;
+static struct usb_driver poseidon_driver;
  static LIST_HEAD(pd_device_list);

  /*
@@ -501,7 +501,7 @@ static void poseidon_disconnect(struct u
kref_put(pd-kref, poseidon_delete);
  }

-struct usb_driver poseidon_driver = {
+static struct usb_driver poseidon_driver = {
.name   = poseidon,
.probe  = poseidon_probe,
.disconnect = poseidon_disconnect,
diff -upr v4l-dvb.orig/linux/drivers/media/video/tlg2300/pd-radio.c 
v4l-dvb/linux/drivers/media/video/tlg2300/pd-radio.c
--- v4l-dvb.orig/linux/drivers/media/video/tlg2300/pd-radio.c   2010-02-28 
14:54:31.0 +0100
+++ v4l-dvb/linux/drivers/media/video/tlg2300/pd-radio.c2010-03-01 
07:26:41.0 +0100
@@ -161,7 +161,8 @@ static const struct v4l2_file_operations
.ioctl = video_ioctl2,
  };

-int tlg_fm_vidioc_g_tuner(struct file *file, void *priv, struct v4l2_tuner *vt)
+static int tlg_fm_vidioc_g_tuner(struct file *file, void *priv,
+struct v4l2_tuner *vt)
  {
struct tuner_fm_sig_stat_s fm_stat = {};
int ret, status, count = 5;
@@ -203,7 +204,8 @@ int tlg_fm_vidioc_g_tuner(struct file *f
return 0;
  }

-int fm_get_freq(struct file *file, void *priv, struct v4l2_frequency *argp)
+static int fm_get_freq(struct file *file, void *priv,
+  struct v4l2_frequency *argp)
  {
struct poseidon *p = file-private_data;

@@ -246,7 +248,8 @@ error:
return ret;
  }

-int fm_set_freq(struct file *file, void *priv, struct v4l2_frequency *argp)
+static int fm_set_freq(struct file *file, void *priv,
+  struct v4l2_frequency *argp)
  {
struct poseidon *p = file-private_data;

@@ -258,13 +261,13 @@ int fm_set_freq(struct file *file, void
return set_frequency(p, argp-frequency);
  }

-int tlg_fm_vidioc_g_ctrl(struct file *file, void *priv,
+static int tlg_fm_vidioc_g_ctrl(struct file *file, void *priv,
struct v4l2_control *arg)
  {
return 0;
  }

-int tlg_fm_vidioc_g_exts_ctrl(struct file *file, void *fh,
+static int 

Re: Announcing v4l-utils-0.7.90 (which includes libv4l-0.7.90)

2010-02-28 Thread Hans Verkuil
On Friday 26 February 2010 20:43:19 Hans de Goede wrote:
 Hi,
 
 I'm happy to announce the first (test / beta) release of v4l-utils,
 v4l-utils is the combination of various v4l and dvb utilities which
 used to be part of the v4l-dvb mercurial kernel tree and libv4l.

Is it correct that I only see v4l utilities and no dvb?
 
 I encourage people to give this version a spin. I esp. would like
 feedback on which v4l / dvb utilities should end up being installed
 by make install. For now I've stuck with what the Makefile in v4l2-apps
 did. See README for a list of all utilities and if they are currently
 installed or not.

qv4l2-qt3 should either be dropped altogether (my preference, although Mauro
thinks differently), or be moved to contrib. I think it is nuts to keep that
one around since the qt4 version is much, much better and the qt3 version is
no longer maintained anyway.

xc3028-firmware, v4l2-compliance and rds should also be moved to contrib.

I'm not sure about decode_tm6000, keytable and v4l2-sysfs-path. These too
may belong to contrib.

We definitely want to have alevtv here as well (it's currently in dvb-apps).

 If you are doing distribution packaging of libv4l, note that the
 good old libv4l tarbal releases are going away, libv4l will now
 be released as part of v4l-utils, and you are encouraged to
 package that up completely including the included utilities. As
 I'm doing distro package maintenance  myself I know this is a pain,
 but in the long run having a single source for v4l + dvb userspace tools
 and libraries is for the best.
 
 New this release:
 
 v4l-utils-0.7.90
 
 * This is the first release of v4l-utils, v4l-utils is the combination
of various v4l and dvb utilities which used to be part of v4l-dvb
mercurial kernel tree and libv4l.
 * This first version is 0.7.90, as the version numbers continue were libv4l
as a standalone source archive stops.
 * libv4l changes:
* Add more laptop models to the upside down devices table
* Fix Pixart JPEG ff ff ff xx markers removal, this fixes the occasional
  corrupt frame we used to get (thanks to Németh Márton)
* Enable whitebalance by default on various sonixj based cams
* Enable whitebalance + gamma correction by default on all sonixb cams
* Enable gamma correction by default on pac7302 based cams
 
 Go get it here:
 http://people.fedoraproject.org/~jwrdegoede/v4l-utils-0.7.90.tar.bz2
 
 You can always find the latest developments here:
 http://git.linuxtv.org/v4l-utils.git

Hmm, I get errors when I attempt to clone this.

Regards,

Hans
 
 Note, it would be good to have some place at linuxtv.org to host the
 tarbals, if someone could help me set that up that would be great.
 
 Regards,
 
 Hans
 
 --
 To unsubscribe from this list: send the line unsubscribe linux-media in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 
 

-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] tlg2300: cleanups when power management is not configured

2010-02-28 Thread Huang Shijie
The function poseidon_fe_release is redundent in fact, I will remove it 
in future.


But now I still acked this patch. thanks a lot.

Acked-by: Huang Shijie shij...@gmail.com

From: Márton Némethnm...@freemail.hu

When power management is not configured (CONFIG_PM) then some code is no longer
necessary.

This patch will remove the following compiler warnings:
  * pd-dvb.c: In function 'poseidon_fe_release':
  * pd-dvb.c:101: warning: unused variable 'pd'
  * pd-video.c:14: warning: 'pm_video_suspend' declared 'static' but never 
defined
  * pd-video.c:15: warning: 'pm_video_resume' declared 'static' but never 
defined

Signed-off-by: Márton Némethnm...@freemail.hu
---
diff -r 37581bb7e6f1 linux/drivers/media/video/tlg2300/pd-dvb.c
--- a/linux/drivers/media/video/tlg2300/pd-dvb.cWed Feb 24 22:48:50 
2010 -0300
+++ b/linux/drivers/media/video/tlg2300/pd-dvb.cSun Feb 28 15:13:05 
2010 +0100
@@ -96,15 +96,17 @@
return ret;
  }

+#ifdef CONFIG_PM
  static void poseidon_fe_release(struct dvb_frontend *fe)
  {
struct poseidon *pd = fe-demodulator_priv;

-#ifdef CONFIG_PM
pd-pm_suspend = NULL;
pd-pm_resume  = NULL;
+}
+#else
+#define poseidon_fe_release NULL
  #endif
-}

  static s32 poseidon_fe_sleep(struct dvb_frontend *fe)
  {
diff -r 37581bb7e6f1 linux/drivers/media/video/tlg2300/pd-video.c
--- a/linux/drivers/media/video/tlg2300/pd-video.c  Wed Feb 24 22:48:50 
2010 -0300
+++ b/linux/drivers/media/video/tlg2300/pd-video.c  Sun Feb 28 15:13:05 
2010 +0100
@@ -11,8 +11,10 @@
  #include pd-common.h
  #include vendorcmds.h

+#ifdef CONFIG_PM
  static int pm_video_suspend(struct poseidon *pd);
  static int pm_video_resume(struct poseidon *pd);
+#endif
  static void iso_bubble_handler(struct work_struct *w);

  int usb_transfer_mode;

   


--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html