Re: [PATCH, RESEND] ov9640: fix missing break

2012-07-29 Thread Guennadi Liakhovetski
Hi Alan

On Tue, 24 Jul 2012, Alan Cox wrote:

 From: Alan Cox a...@linux.intel.com
 
 Without this rev2 ends up behaving as rev3
 
 Reported-by: dcb...@hotmail.com
 Resolves-bug: https://bugzilla.kernel.org/show_bug.cgi?id=44081
 Signed-off-by: Alan Cox a...@linux.intel.com

Thanks, I'll push this for 3.6, and will ask Mauro to push this to stable 
too.

Thanks
Guennadi

 ---
 
  drivers/media/video/ov9640.c |1 +
  1 file changed, 1 insertion(+)
 
 diff --git a/drivers/media/video/ov9640.c b/drivers/media/video/ov9640.c
 index 23412de..9ed4ba4 100644
 --- a/drivers/media/video/ov9640.c
 +++ b/drivers/media/video/ov9640.c
 @@ -605,6 +605,7 @@ static int ov9640_video_probe(struct i2c_client *client)
   devname = ov9640;
   priv-model = V4L2_IDENT_OV9640;
   priv-revision  = 2;
 + break;
   case OV9640_V3:
   devname = ov9640;
   priv-model = V4L2_IDENT_OV9640;
 
 --
 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
 

---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.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: [RFC PATCH 0/2] Add support for RDS decoding

2012-07-29 Thread Gregor Jasny
Hello Konke,

On 7/27/12 4:27 PM, Konke Radlow wrote:
 changing the condition in the library header from 
 #if __GNUC__ = 4
 #define LIBV4L_PUBLIC __attribute__ ((visibility(default)))
 #else
 #define LIBV4L_PUBLIC
 #endif
 
 to 
 #if HAVE_VISIBILITY
 #define LIBV4L_PUBLIC __attribute__ ((visibility(default)))
 #else
 #define LIBV4L_PUBLIC
 #endif
 
 causes linker problems for me. The public library functions can no longer be 
 found. I cannot figure out why it's working for programs using libv4l2.la but 
 not for programs using libv4l2rds.la

You need to include config.h before including this file in the utility
and library to get the HAVE_VISIBILITY definition activated.
The other option would be switching from defining HAVE_VISIBILITY in
config.h to a command line define.

Thanks,
Gregor
--
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: media_tree daily build: ERRORS

2012-07-29 Thread Hans Verkuil
This message is generated daily by a cron job that builds media_tree for
the kernels and architectures in the list below.

Results of the daily build of media_tree:

date:Sun Jul 29 19:00:17 CEST 2012
git hash:931efdf58bd83af8d0578a6cc53421675daf6d41
gcc version:  i686-linux-gcc (GCC) 4.7.1
host hardware:x86_64
host os:  3.4.07-marune

linux-git-arm-eabi-davinci: ERRORS
linux-git-arm-eabi-exynos: OK
linux-git-arm-eabi-omap: WARNINGS
linux-git-i686: WARNINGS
linux-git-m32r: WARNINGS
linux-git-mips: WARNINGS
linux-git-powerpc64: WARNINGS
linux-git-x86_64: WARNINGS
linux-2.6.31.12-x86_64: WARNINGS
linux-2.6.32.6-x86_64: WARNINGS
linux-2.6.33-x86_64: WARNINGS
linux-2.6.34-x86_64: WARNINGS
linux-2.6.35.3-x86_64: WARNINGS
linux-2.6.36-x86_64: WARNINGS
linux-2.6.37-x86_64: WARNINGS
linux-2.6.38.2-x86_64: WARNINGS
linux-2.6.39.1-x86_64: WARNINGS
linux-3.0-x86_64: WARNINGS
linux-3.1-x86_64: WARNINGS
linux-3.2.1-x86_64: WARNINGS
linux-3.3-x86_64: WARNINGS
linux-3.4-x86_64: WARNINGS
linux-3.5-x86_64: ERRORS
linux-2.6.31.12-i686: WARNINGS
linux-2.6.32.6-i686: WARNINGS
linux-2.6.33-i686: WARNINGS
linux-2.6.34-i686: WARNINGS
linux-2.6.35.3-i686: WARNINGS
linux-2.6.36-i686: WARNINGS
linux-2.6.37-i686: WARNINGS
linux-2.6.38.2-i686: WARNINGS
linux-2.6.39.1-i686: WARNINGS
linux-3.0-i686: WARNINGS
linux-3.1-i686: WARNINGS
linux-3.2.1-i686: WARNINGS
linux-3.3-i686: WARNINGS
linux-3.4-i686: WARNINGS
linux-3.5-i686: ERRORS
apps: WARNINGS
spec-git: WARNINGS
sparse: ERRORS

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


[PATCH 1/2] [media] dvb: add support for Thomson DTT7520X

2012-07-29 Thread Patrice Chotard
[media] dvb: add support for Thomson DTT7520X

Add support for Thomson DTT7520X pll needed by
ngene card Terratec Cynergy 2400i DT

Signed-off-by: Patrice Chotard patricechot...@free.fr
---
 drivers/media/dvb/frontends/dvb-pll.c |   26 ++
 drivers/media/dvb/frontends/dvb-pll.h |1 +
 2 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/drivers/media/dvb/frontends/dvb-pll.c
b/drivers/media/dvb/frontends/dvb-pll.c
index 1ab3483..6d8fe88 100644
--- a/drivers/media/dvb/frontends/dvb-pll.c
+++ b/drivers/media/dvb/frontends/dvb-pll.c
@@ -116,6 +116,31 @@ static struct dvb_pll_desc dvb_pll_thomson_dtt759x = {
},
 };

+static void thomson_dtt7520x_bw(struct dvb_frontend *fe, u8 *buf)
+{
+   u32 bw = fe-dtv_property_cache.bandwidth_hz;
+   if (bw == 800)
+   buf[3] ^= 0x10;
+}
+
+static struct dvb_pll_desc dvb_pll_thomson_dtt7520x = {
+   .name  = Thomson dtt7520x,
+   .min   = 18500,
+   .max   = 9,
+   .set   = thomson_dtt7520x_bw,
+   .iffreq = 3617,
+   .count = 7,
+   .entries = {
+   {  30500, 17, 0xb4, 0x12 },
+   {  40500, 17, 0xbc, 0x12 },
+   {  44500, 17, 0xbc, 0x12 },
+   {  46500, 17, 0xf4, 0x18 },
+   {  73500, 17, 0xfc, 0x18 },
+   {  83500, 17, 0xbc, 0x18 },
+   {  9, 17, 0xfc, 0x18 },
+   },
+};
+
 static struct dvb_pll_desc dvb_pll_lg_z201 = {
.name  = LG z201,
.min   = 17400,
@@ -513,6 +538,7 @@ static struct dvb_pll_desc *pll_list[] = {
[DVB_PLL_UNDEFINED]  = NULL,
[DVB_PLL_THOMSON_DTT7579]= dvb_pll_thomson_dtt7579,
[DVB_PLL_THOMSON_DTT759X]= dvb_pll_thomson_dtt759x,
+   [DVB_PLL_THOMSON_DTT7520X]   = dvb_pll_thomson_dtt7520x,
[DVB_PLL_LG_Z201]= dvb_pll_lg_z201,
[DVB_PLL_UNKNOWN_1]  = dvb_pll_unknown_1,
[DVB_PLL_TUA6010XS]  = dvb_pll_tua6010xs,
diff --git a/drivers/media/dvb/frontends/dvb-pll.h
b/drivers/media/dvb/frontends/dvb-pll.h
index 0869643..4de754f 100644
--- a/drivers/media/dvb/frontends/dvb-pll.h
+++ b/drivers/media/dvb/frontends/dvb-pll.h
@@ -27,6 +27,7 @@
 #define DVB_PLL_SAMSUNG_TBDU18132  16
 #define DVB_PLL_SAMSUNG_TBMU24112  17
 #define DVB_PLL_TDEE4 18
+#define DVB_PLL_THOMSON_DTT7520X   19

 /**
  * Attach a dvb-pll to the supplied frontend structure.
-- 1.7.9.1
--
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 2/2] [media] ngene: add support for Terratec Cynergy 2400i, Dual DVB-T

2012-07-29 Thread Patrice Chotard
[media] ngene: add support for Terratec Cynergy 2400i
 Dual DVB-T

This code is based on ngene initial check-in
(dae52d009fc950b5c209260d50fcc000f5becd3c)

Signed-off-by: Patrice Chotard patricechot...@free.fr
---
 drivers/media/dvb/ngene/ngene-cards.c |  263
+
 1 files changed, 263 insertions(+), 0 deletions(-)

diff --git a/drivers/media/dvb/ngene/ngene-cards.c
b/drivers/media/dvb/ngene/ngene-cards.c
index 7539a5d..08c610f 100644
--- a/drivers/media/dvb/ngene/ngene-cards.c
+++ b/drivers/media/dvb/ngene/ngene-cards.c
@@ -42,6 +42,8 @@
 #include mt2131.h
 #include tda18271c2dd.h
 #include drxk.h
+#include drxd.h
+#include dvb-pll.h


 //
@@ -312,6 +314,235 @@ static int demod_attach_lg330x(struct
ngene_channel *chan)
return (chan-fe) ? 0 : -ENODEV;
 }

+static int demod_attach_drxd(struct ngene_channel *chan)
+{
+   struct drxd_config *feconf;
+
+   feconf = chan-dev-card_info-fe_config[chan-number];
+
+   chan-fe = dvb_attach(drxd_attach, feconf, chan,
+   chan-i2c_adapter, chan-dev-pci_dev-dev);
+   if (!chan-fe) {
+   pr_err(No DRXD found!\n);
+   return -ENODEV;
+   }
+
+   if (!dvb_attach(dvb_pll_attach, chan-fe, feconf-pll_address,
+   chan-i2c_adapter,
+   feconf-pll_type)) {
+   pr_err(No pll(%d) found!\n, feconf-pll_type);
+   return -ENODEV;
+   }
+   return 0;
+}
+
+//
+/* EEPROM TAGS
**/
+//
+
+#define MICNG_EE_START  0x0100
+#define MICNG_EE_END0x0FF0
+
+#define MICNG_EETAG_END00x
+#define MICNG_EETAG_END10x
+
+/* 0x0001 - 0x000F reserved for housekeeping */
+/* 0x - 0xFFFE reserved for housekeeping */
+
+/* Micronas assigned tags
+   EEProm tags for hardware support */
+
+#define MICNG_EETAG_DRXD1_OSCDEVIATION  0x1000  /* 2 Bytes data */
+#define MICNG_EETAG_DRXD2_OSCDEVIATION  0x1001  /* 2 Bytes data */
+
+#define MICNG_EETAG_MT2060_1_1STIF  0x1100  /* 2 Bytes data */
+#define MICNG_EETAG_MT2060_2_1STIF  0x1101  /* 2 Bytes data */
+
+/* Tag range for OEMs */
+
+#define MICNG_EETAG_OEM_FIRST  0xC000
+#define MICNG_EETAG_OEM_LAST   0xFFEF
+
+static int i2c_write_eeprom(struct i2c_adapter *adapter,
+   u8 adr, u16 reg, u8 data)
+{
+   u8 m[3] = {(reg  8), (reg  0xff), data};
+   struct i2c_msg msg = {.addr = adr, .flags = 0, .buf = m,
+ .len = sizeof(m)};
+
+   if (i2c_transfer(adapter, msg, 1) != 1) {
+   pr_err(DEVICE_NAME : Error writing EEPROM!\n);
+   return -EIO;
+   }
+   return 0;
+}
+
+static int i2c_read_eeprom(struct i2c_adapter *adapter,
+  u8 adr, u16 reg, u8 *data, int len)
+{
+   u8 msg[2] = {(reg  8), (reg  0xff)};
+   struct i2c_msg msgs[2] = {{.addr = adr, .flags = 0,
+  .buf = msg, .len = 2 },
+ {.addr = adr, .flags = I2C_M_RD,
+  .buf = data, .len = len} };
+
+   if (i2c_transfer(adapter, msgs, 2) != 2) {
+   pr_err(DEVICE_NAME : Error reading EEPROM\n);
+   return -EIO;
+   }
+   return 0;
+}
+
+static int ReadEEProm(struct i2c_adapter *adapter,
+ u16 Tag, u32 MaxLen, u8 *data, u32 *pLength)
+{
+   int status = 0;
+   u16 Addr = MICNG_EE_START, Length, tag = 0;
+   u8  EETag[3];
+
+   while (Addr + sizeof(u16) + 1  MICNG_EE_END) {
+   if (i2c_read_eeprom(adapter, 0x50, Addr, EETag, sizeof(EETag)))
+   return -1;
+   tag = (EETag[0]  8) | EETag[1];
+   if (tag == MICNG_EETAG_END0 || tag == MICNG_EETAG_END1)
+   return -1;
+   if (tag == Tag)
+   break;
+   Addr += sizeof(u16) + 1 + EETag[2];
+   }
+   if (Addr + sizeof(u16) + 1 + EETag[2]  MICNG_EE_END) {
+   pr_err(DEVICE_NAME
+  : Reached EOEE @ Tag = %04x Length = %3d\n,
+  tag, EETag[2]);
+   return -1;
+   }
+   Length = EETag[2];
+   if (Length  MaxLen)
+   Length = (u16) MaxLen;
+   if (Length  0) {
+   Addr += sizeof(u16) + 1;
+   status = i2c_read_eeprom(adapter, 0x50, Addr, data, Length);
+   if (!status) {
+   *pLength = EETag[2];
+   if (Length  EETag[2])
+   ; /*status=STATUS_BUFFER_OVERFLOW; */
+   }
+   }
+   return status;
+}
+
+static int WriteEEProm(struct i2c_adapter *adapter,
+  

Re: GPIO interface between DVB sub-drivers (bridge, demod, tuner)

2012-07-29 Thread poma
On 07/20/2012 03:43 AM, Antti Palosaari wrote:
 On 07/13/2012 12:07 AM, Steven Toth wrote:
 On Thu, Jul 12, 2012 at 4:49 PM, Steven Toth st...@kernellabs.com
 wrote:
 Nobody understands the relationship between the bridge and the
 sub-component as well as the bridge driver. The current interfaces are
 limiting in many ways. We solve that today with rather ugly 'attach'
 structures that are inflexible, for example to set gpios to a default
 state.
 Then, once that interface is attached, the bridge effectively loses
 most of
 the control to the tuner and/or demod. The result is a large disconnect
 between the bridge and subcomponents.

 Why limit any interface extension to GPIOs? Why not make something a
 little more flexible so we can pass custom messages around?
 
 What did you ever decide about the enable/disable of the LNA? And, how
 would the bridge do that in your proposed solution? Via the proposed
 GPIO
 interface?
 
 GPIO / LNA is ready, see following patches:
 add LNA support for DVB API
 cxd2820r: use Kernel GPIO for GPIO access
 em28xx: implement FE set_lna() callback
 
 from:
 http://git.linuxtv.org/anttip/media_tree.git/shortlog/refs/heads/dvb_core
 
 Kernel GPIOs were quite easy to implement and use - when needed
 knowledge was gathered after all the testing and study. I wonder why
 none was done that earlier for DVB...
 
 It also offer nice debug/devel feature as you can mount those GPIOs via
 sysfs and use directly.
 

Above mentioned GPIO functionality must be implemented in driver itself
to use /sys/class/gpio/… sysfs interface, right?
It is not enough to build kernel with CONFIG_GENERIC_GPIO=y,
CONFIG_GPIOLIB=y, CONFIG_GPIO_SYSFS, right?

Cheers,
poma

--
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


DVB-T updated initial channel list for de-Bayern

2012-07-29 Thread Christian Lohmaier
Hi *,

as the list that is shipped with distros, as well as the copy in the
repository is rather outdated (misses frequencies for München,
Wendelstein  Nürnberg, and probably has some outdated
program-listings in the comments), here's an updated copy.

I did put the comments into different lines, as some tools don't like
the comments at the end of a frequency line.

ciao
Christian
PS: not subscribed, so please cc me in replies
PPS: attached as *.txt to avoid being stripped because of some filters
# DVB-T initial channel data for Bayern (Germany) based on 
http://www.dvb-t-bayern.de/dvbt_sendertabelle.html
# no explicit data is provided for fec_lo, bw  hierarchy, so assuming defaults 
based on the old list
#
# station/location operator channel-Number programs
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
#
# AmbergMB CH23: ZDF ⋅ 3sat ⋅ KiKa/ZDFneo ⋅ ZDFinfo
# OchsenkopfBR CH23: ZDF ⋅ 3sat ⋅ KiKa/ZDFneo ⋅ ZDFinfo
T 49000 8MHz 2/3 NONE QAM16 8k 1/4 NONE
# Augsburg/Welden   MB CH25: Bayerisches Fernsehen ⋅ BR-alpha ⋅ SWR 
⋅ EinsExtra
# Gelbelsee BR CH25: Bayerisches Fernsehen ⋅ BR-alpha ⋅ SWR 
⋅ EinsExtra
# Pfaffenberg   BR CH25: ZDF ⋅ 3sat ⋅ KiKa/ZDFneo ⋅ ZDFinfo
# Pfaffenhofen  MB CH25: Bayerisches Fernsehen ⋅ BR-alpha ⋅ SWR 
⋅ EinsExtra
# Rhön  MB CH25: ZDF ⋅ 3sat ⋅ KiKa/ZDFneo ⋅ ZDFinfo
# Würzburg  MB CH25: ZDF ⋅ 3sat ⋅ KiKa/ZDFneo ⋅ ZDFinfo
T 50600 8MHz 2/3 NONE QAM16 8k 1/4 NONE
# Brotjacklriegel   BR CH27: Bayerisches Fernsehen ⋅ BR-alpha ⋅ SWR 
⋅ EinsExtra
# Landshut  MB CH27: Bayerisches Fernsehen ⋅ BR-alpha ⋅ SWR 
⋅ EinsExtra
# PassauBR CH27: Bayerisches Fernsehen ⋅ BR-alpha ⋅ SWR 
⋅ EinsExtra
# Pfarrkirchen  MB CH27: Bayerisches Fernsehen ⋅ BR-alpha ⋅ SWR 
⋅ EinsExtra
T 52200 8MHz 2/3 NONE QAM16 8k 1/4 NONE
# AmbergMB CH28: Bayerisches Fernsehen ⋅ BR-alpha ⋅ SWR 
⋅ EinsExtra
# Garmisch-PartenkirchenMB/BR  CH28: ZDF ⋅ 3sat ⋅ KiKa/ZDFneo ⋅ ZDFinfo
# Grünten   BR CH28: ZDF ⋅ 3sat ⋅ KiKa/ZDFneo ⋅ ZDFinfo
# Hohe LinieBR CH28: Bayerisches Fernsehen ⋅ BR-alpha ⋅ SWR 
⋅ EinsExtra
# Hohenpeißenberg   MB CH28: ZDF ⋅ 3sat ⋅ KiKa/ZDFneo ⋅ ZDFinfo
# Hoher Bogen   BR CH28: Bayerisches Fernsehen ⋅ BR-alpha ⋅ SWR 
⋅ EinsExtra
T 53000 8MHz 2/3 NONE QAM16 8k 1/4 NONE
# Bamberg   MB CH29: Das Erste ⋅ arte ⋅ Phoenix ⋅ EinsPlus
# OchsenkopfBR CH29: Das Erste ⋅ arte ⋅ Phoenix ⋅ EinsPlus
T 53800 8MHz 2/3 NONE QAM16 8k 1/4 NONE
# AmbergMB CH30: Das Erste ⋅ arte ⋅ Phoenix ⋅ EinsPlus
T 54600 8MHz 2/3 NONE QAM16 8k 1/4 NONE
# Brotjacklriegel   BR CH33: ZDF ⋅ 3sat ⋅ KiKa/ZDFneo ⋅ ZDFinfo
# Hoher Bogen   BR CH33: ZDF ⋅ 3sat ⋅ KiKa/ZDFneo ⋅ ZDFinfo
# Landshut  MB CH33: ZDF ⋅ 3sat ⋅ KiKa/ZDFneo ⋅ ZDFinfo
# PassauBR CH33: ZDF ⋅ 3sat ⋅ KiKa/ZDFneo ⋅ ZDFinfo
# Pfarrkirchen  MB CH33: ZDF ⋅ 3sat ⋅ KiKa/ZDFneo ⋅ ZDFinfo
T 57000 8MHz 2/3 NONE QAM16 8k 1/4 NONE
# Bamberg   MB CH34: ZDF ⋅ 3sat ⋅ KiKa/ZDFneo ⋅ ZDFinfo
# Dillberg  BR CH34: ZDF ⋅ 3sat ⋅ KiKa/ZDFneo ⋅ ZDFinfo
# München   MB CH34: RTL ⋅ RTL 2 ⋅ Super RTL ⋅ VOX
# Nürnberg  MB CH34: ZDF ⋅ 3sat ⋅ KiKa/ZDFneo ⋅ ZDFinfo
# Wendelstein   BR CH34: RTL ⋅ RTL 2 ⋅ Super RTL ⋅ VOX
T 57800 8MHz 2/3 NONE QAM16 8k 1/4 NONE
# München   MB CH35: ZDF ⋅ 3sat ⋅ KiKa/ZDFneo ⋅ ZDFinfo
# Wendelstein   BR CH35: ZDF ⋅ 3sat ⋅ KiKa/ZDFneo ⋅ ZDFinfo
T 58600 8MHz 2/3 NONE QAM16 8k 1/4 NONE
# Augsburg/Welden   MB CH36: Das Erste ⋅ arte ⋅ Phoenix ⋅ EinsPlus
# Gelbelsee BR CH36: Das Erste ⋅ arte ⋅ Phoenix ⋅ EinsPlus
# Kreuzberg BR CH36: Das Erste ⋅ arte ⋅ Phoenix ⋅ EinsPlus
# Pfaffenberg   BR CH36: Das Erste ⋅ arte ⋅ Phoenix ⋅ EinsPlus
# Pfaffenhofen  MB CH36: Das Erste ⋅ arte ⋅ Phoenix ⋅ EinsPlus
# Würzburg (BR) BR CH36: Das Erste ⋅ arte ⋅ Phoenix ⋅ EinsPlus
T 59400 8MHz 2/3 NONE QAM16 8k 1/4 NONE
# Hochberg (bei Traunstein) BR CH39: Bayerisches Fernsehen ⋅ BR-alpha ⋅ SWR 
⋅ EinsExtra
# UntersbergBR CH39: Bayerisches Fernsehen ⋅ BR-alpha ⋅ SWR 
⋅ EinsExtra
T 61800 8MHz 2/3 NONE QAM16 8k 1/4 NONE
# Bamberg   MB CH40: Bayerisches Fernsehen ⋅ BR-alpha ⋅ MDR 
⋅ hr
# Brotjacklriegel   BR CH40: Das Erste ⋅ arte ⋅ Phoenix ⋅ EinsPlus
# Landshut  MB CH40: Das Erste ⋅ arte ⋅ Phoenix ⋅ EinsPlus
# OchsenkopfBR CH40: Bayerisches Fernsehen ⋅ BR-alpha ⋅ MDR 
⋅ hr
# 

Re: [PATCH] Fix VIDIOC_TRY_EXT_CTRLS regression

2012-07-29 Thread Mauro Carvalho Chehab
Em 18-07-2012 10:34, Hans Verkuil escreveu:
 Hi all,
 
 This patch fixes an omission in the new v4l2_ioctls table: 
 VIDIOC_TRY_EXT_CTRLS
 must get the INFO_FL_CTRL flag, just like all the other control related 
 ioctls.
 
 Otherwise the ioctl core won't know it also has to check whether 
 v4l2_fh-ctrl_handler
 is non-zero before it can decide that this ioctl is not implemented.
 
 Caught by v4l2-compliance while I was testing the mem2mem_testdev driver.

Missing SOB. It seems Steven asked for this fix. Did he test? If so, it would be
nice to get his tested-by:.

Regards,
Mauro
 
 Regards,
 
   Hans
 
 diff --git a/drivers/media/video/v4l2-ioctl.c 
 b/drivers/media/video/v4l2-ioctl.c
 index 70e0efb..17dff31 100644
 --- a/drivers/media/video/v4l2-ioctl.c
 +++ b/drivers/media/video/v4l2-ioctl.c
 @@ -1900,7 +1900,7 @@ static struct v4l2_ioctl_info v4l2_ioctls[] = {
   IOCTL_INFO_FNC(VIDIOC_LOG_STATUS, v4l_log_status, v4l_print_newline, 0),
   IOCTL_INFO_FNC(VIDIOC_G_EXT_CTRLS, v4l_g_ext_ctrls, 
 v4l_print_ext_controls, INFO_FL_CTRL),
   IOCTL_INFO_FNC(VIDIOC_S_EXT_CTRLS, v4l_s_ext_ctrls, 
 v4l_print_ext_controls, INFO_FL_PRIO | INFO_FL_CTRL),
 - IOCTL_INFO_FNC(VIDIOC_TRY_EXT_CTRLS, v4l_try_ext_ctrls, 
 v4l_print_ext_controls, 0),
 + IOCTL_INFO_FNC(VIDIOC_TRY_EXT_CTRLS, v4l_try_ext_ctrls, 
 v4l_print_ext_controls, INFO_FL_CTRL),
   IOCTL_INFO_STD(VIDIOC_ENUM_FRAMESIZES, vidioc_enum_framesizes, 
 v4l_print_frmsizeenum, INFO_FL_CLEAR(v4l2_frmsizeenum, pixel_format)),
   IOCTL_INFO_STD(VIDIOC_ENUM_FRAMEINTERVALS, vidioc_enum_frameintervals, 
 v4l_print_frmivalenum, INFO_FL_CLEAR(v4l2_frmivalenum, height)),
   IOCTL_INFO_STD(VIDIOC_G_ENC_INDEX, vidioc_g_enc_index, 
 v4l_print_enc_idx, 0),
 --
 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
 

--
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 for stable] cx25821: Remove bad strcpy to read-only char*

2012-07-29 Thread Ben Hutchings
On Tue, 2012-07-24 at 13:59 -0300, Ezequiel Garcia wrote:
 Hi Greg,
 
 This patch is already in Linus' tree and I really think it should go into 
 stable
 as well. You will find this bug in every kernel from the moment cx25821 went
 out of staging.
 
 I just read Documentation/stable_kernel_rules.txt, so I guess it was enough
 to add a tag Cc: sta...@vger.kernel.org in the patch (right?).
 Now I know it :-)
 
 If I'm doing anything wrong, just yell at me.
[...]

An upstream commit hash would have helped, but I found it anyway.
Queued up for 3.2.y.

Ben.

-- 
Ben Hutchings
It is impossible to make anything foolproof because fools are so ingenious.


signature.asc
Description: This is a digitally signed message part