<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.linux.drivers.video-input-infrastructure">
    <title>gmane.linux.drivers.video-input-infrastructure</title>
    <link>http://blog.gmane.org/gmane.linux.drivers.video-input-infrastructure</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48827"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48826"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48824"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48823"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48822"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48821"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48820"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48819"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48818"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48817"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48815"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48814"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48813"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48810"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48809"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48807"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48806"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48805"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48804"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48803"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48827">
    <title>[PULL] smsusb: add autodetection support for USB ID 2040:f5a0 (2012-05-25 08:32:17 -0400)</title>
    <link>http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48827</link>
    <description>&lt;pre&gt;The following changes since commit abed623ca59a7d1abed6c4e7459be03e25a90a1e:

  [media] radio-sf16fmi: add support for SF16-FMD (2012-05-20 16:10:05 -0300)

are available in the git repository at:

  git://git.linuxtv.org/mkrufky/hauppauge windham-ids

for you to fetch changes up to cfd9b78596cbe0c96b1ff3b83e1e25f128fe3003:

  smsusb: add autodetection support for USB ID 2040:f5a0 (2012-05-25
08:32:17 -0400)

----------------------------------------------------------------
Michael Krufky (1):
      smsusb: add autodetection support for USB ID 2040:f5a0

 drivers/media/dvb/siano/smsusb.c |    2 ++
 1 file changed, 2 insertions(+)
&lt;/pre&gt;</description>
    <dc:creator>Michael Krufky</dc:creator>
    <dc:date>2012-05-25T12:35:33</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48826">
    <title>Re: [GIT PULL for v3.5-rc1] media updates for v3.5</title>
    <link>http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48826</link>
    <description>&lt;pre&gt;Em 24-05-2012 19:40, Linus Torvalds escreveu:

I'll change the default on Fedora (f16/f17/rawhide).


A simple way to solve it seems to make those options dependent on CONFIG_EXPERT.

Not sure if all usual distributions disable it, but I guess most won't have
EXPERT enabled.

The enclosed patch does that. If nobody complains, I'll submit it together
with the next git pull request.

Regards,
Mauro

-

[RFC PATCH] Make tuner/frontend options dependent on EXPERT

The media CUSTOMISE options are there to allow embedded systems and advanced
users to disable tuner/frontends that are supported by a bridge driver to
be disabled, in order to save some disk space and memory, when compiled builtin.

However, distros are mistakenly enabling it, causing problems when a
make oldconfig is used.

Make those options dependent on EXPERT, in order to avoid such annoyance behavior.

Signed-off-by: Mauro Carvalho Chehab &amp;lt;mchehab&amp;lt; at &amp;gt;redhat.com&amp;gt;

diff --git a/drivers/media/common/tuners/Kconfig b/drivers/media/common/tuners/Kconfig
index bbf4945..702a3bf 100644
--- a/drivers/media/common/tuners/Kconfig
+++ b/drivers/media/common/tuners/Kconfig
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -35,6 +35,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; config MEDIA_TUNER
 config MEDIA_TUNER_CUSTOMISE
 bool "Customize analog and hybrid tuner modules to build"
 depends on MEDIA_TUNER
+depends on EXPERT
 default y if EXPERT
 help
   This allows the user to deselect tuner drivers unnecessary
diff --git a/drivers/media/dvb/frontends/Kconfig b/drivers/media/dvb/frontends/Kconfig
index b98ebb2..6d3c2f7 100644
--- a/drivers/media/dvb/frontends/Kconfig
+++ b/drivers/media/dvb/frontends/Kconfig
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,6 +1,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 config DVB_FE_CUSTOMISE
 bool "Customise the frontend modules to build"
 depends on DVB_CORE
+depends on EXPERT
 default y if EXPERT
 help
   This allows the user to select/deselect frontend drivers for their
&lt;/pre&gt;</description>
    <dc:creator>Mauro Carvalho Chehab</dc:creator>
    <dc:date>2012-05-25T12:12:43</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48824">
    <title>Re: [PATCH 3/3] [media] s5p-fimc: Stop media entity pipeline if fimc_pipeline_validate fails</title>
    <link>http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48824</link>
    <description>&lt;pre&gt;
Applied that one too. Thanks.

--
Regards,
Sylwester
&lt;/pre&gt;</description>
    <dc:creator>Sylwester Nawrocki</dc:creator>
    <dc:date>2012-05-25T10:30:14</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48823">
    <title>Re: [PATCH 2/3] [media] s5p-fimc: Fix compiler warning in fimc-capture.c file</title>
    <link>http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48823</link>
    <description>&lt;pre&gt;
Thanks, I've applied that one, with slightly extended commit message.

Regards,
Sylwester
&lt;/pre&gt;</description>
    <dc:creator>Sylwester Nawrocki</dc:creator>
    <dc:date>2012-05-25T10:28:40</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48822">
    <title>Re: [PATCH 2/3] [media] s5p-fimc: Fix compiler warning in fimc-capture.c file</title>
    <link>http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48822</link>
    <description>&lt;pre&gt;Hi Sachin,

On 05/25/2012 08:29 AM, Sachin Kamat wrote:

Thanks for the patch. Sakari submitted a similar one
(http://patchwork.linuxtv.org/patch/10799) so I'd like to
apply that instead.

Regards,
Sylwester
&lt;/pre&gt;</description>
    <dc:creator>Sylwester Nawrocki</dc:creator>
    <dc:date>2012-05-25T10:28:18</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48821">
    <title>Re: [media-ctl PATCH v3 0/4] New selection format and compose support</title>
    <link>http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48821</link>
    <description>&lt;pre&gt;Hi Sakari,

Thanks for the patches.

On Wednesday 23 May 2012 01:30:46 Sakari Ailus wrote:

Applied with some small modifications. I've pushed the first two patches to 
the repository and queued the last two. I will push them when the kernel 
changes they depend on reach upstream.

&lt;/pre&gt;</description>
    <dc:creator>Laurent Pinchart</dc:creator>
    <dc:date>2012-05-25T10:24:36</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48820">
    <title>[media-ctl PATCH v3.1 2/4] Compose rectangle support for libv4l2subdev</title>
    <link>http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48820</link>
    <description>&lt;pre&gt;Signed-off-by: Sakari Ailus &amp;lt;sakari.ailus&amp;lt; at &amp;gt;iki.fi&amp;gt;
---
 src/main.c       |   14 ++++++++++++++
 src/options.c    |    6 ++++--
 src/v4l2subdev.c |   32 +++++++++++++++++++++++---------
 3 files changed, 41 insertions(+), 11 deletions(-)

diff --git a/src/main.c b/src/main.c
index 5d88b46..0b94f2a 100644
--- a/src/main.c
+++ b/src/main.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -77,6 +77,20 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void v4l2_subdev_print_format(struct media_entity *entity,
 printf("\n\t\t crop:(%u,%u)/%ux%u", rect.left, rect.top,
        rect.width, rect.height);
 
+ret = v4l2_subdev_get_selection(entity, &amp;amp;rect, pad,
+V4L2_SUBDEV_SEL_TGT_COMPOSE_BOUNDS,
+which);
+if (ret == 0)
+printf("\n\t\t compose.bounds:%u,%u/%ux%u",
+       rect.left, rect.top, rect.width, rect.height);
+
+ret = v4l2_subdev_get_selection(entity, &amp;amp;rect, pad,
+V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL,
+which);
+if (ret == 0)
+printf("\n\t\t compose:%u,%u/%ux%u",
+       rect.left, rect.top, rect.width, rect.height);
+
 printf("]");
 }
 
diff --git a/src/options.c b/src/options.c
index 46f6bef..8e80bd0 100644
--- a/src/options.c
+++ b/src/options.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -56,12 +56,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void usage(const char *argv0, int verbose)
 printf("\tv4l2                = pad, '[', v4l2-cfgs ']' ;\n");
 printf("\tv4l2-cfgs           = v4l2-cfg [ ',' v4l2-cfg ] ;\n");
 printf("\tv4l2-cfg            = v4l2-mbusfmt | v4l2-crop\n");
-printf("\t                      | v4l2 frame interval ;\n");
+printf("\t                      | v4l2-compose | v4l2 frame interval ;\n");
 printf("\tv4l2-mbusfmt        = 'fmt:', fcc, '/', size ;\n");
 printf("\tpad                 = entity, ':', pad number ;\n");
 printf("\tentity              = entity number | ( '\"', entity name, '\"' ) ;\n");
 printf("\tsize                = width, 'x', height ;\n");
-printf("\tv4l2-crop           = 'crop:(', left, ',', top, ')/', size ;\n");
+printf("\tv4l2-crop           = 'crop:', v4l2-rectangle ;\n");
+printf("\tv4l2-compose        = 'compose:', v4l2-rectangle ;\n");
+printf("\tv4l2-rectangle      = '(', left, ',', top, ')/', size ;\n");
 printf("\tv4l2 frame interval = '&amp;lt; at &amp;gt;', numerator, '/', denominator ;\n");
 printf("where the fields are\n");
 printf("\tentity number   Entity numeric identifier\n");
diff --git a/src/v4l2subdev.c b/src/v4l2subdev.c
index 2b4a923..a29614f 100644
--- a/src/v4l2subdev.c
+++ b/src/v4l2subdev.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -325,8 +325,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int icanhasstr(const char *str, const char **p)
 
 static struct media_pad *v4l2_subdev_parse_pad_format(
 struct media_device *media, struct v4l2_mbus_framefmt *format,
-struct v4l2_rect *crop, struct v4l2_fract *interval, const char *p,
-char **endp)
+struct v4l2_rect *crop, struct v4l2_rect *compose,
+struct v4l2_fract *interval, const char *p, char **endp)
 {
 struct media_pad *pad;
 char *end;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -373,6 +373,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct media_pad *v4l2_subdev_parse_pad_format(
 continue;
 }
 
+if (!icanhasstr("compose:", &amp;amp;p)) {
+ret = v4l2_subdev_parse_rectangle(compose, p, &amp;amp;end);
+if (ret &amp;lt; 0)
+return NULL;
+
+for (p = end; isspace(*p); p++);
+continue;
+}
+
 if (*p == '&amp;lt; at &amp;gt;') {
 ret = v4l2_subdev_parse_frame_interval(interval, ++p, &amp;amp;end);
 if (ret &amp;lt; 0)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -486,30 +495,35 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int v4l2_subdev_parse_setup_format(struct media_device *media,
 struct v4l2_mbus_framefmt format = { 0, 0, 0 };
 struct media_pad *pad;
 struct v4l2_rect crop = { -1, -1, -1, -1 };
+struct v4l2_rect compose = crop;
 struct v4l2_fract interval = { 0, 0 };
 unsigned int i;
 char *end;
 int ret;
 
-pad = v4l2_subdev_parse_pad_format(media, &amp;amp;format, &amp;amp;crop, &amp;amp;interval,
-   p, &amp;amp;end);
+pad = v4l2_subdev_parse_pad_format(media, &amp;amp;format, &amp;amp;crop, &amp;amp;compose,
+   &amp;amp;interval, p, &amp;amp;end);
 if (pad == NULL) {
 media_dbg(media, "Unable to parse format\n");
 return -EINVAL;
 }
 
-if (pad-&amp;gt;flags &amp;amp; MEDIA_PAD_FL_SOURCE) {
-ret = set_selection(pad, V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL, &amp;amp;crop);
+if (pad-&amp;gt;flags &amp;amp; MEDIA_PAD_FL_SINK) {
+ret = set_format(pad, &amp;amp;format);
 if (ret &amp;lt; 0)
 return ret;
 }
 
-ret = set_format(pad, &amp;amp;format);
+ret = set_selection(pad, V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL, &amp;amp;crop);
 if (ret &amp;lt; 0)
 return ret;
 
-if (pad-&amp;gt;flags &amp;amp; MEDIA_PAD_FL_SINK) {
-ret = set_selection(pad, V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL, &amp;amp;crop);
+ret = set_selection(pad, V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL, &amp;amp;compose);
+if (ret &amp;lt; 0)
+return ret;
+
+if (pad-&amp;gt;flags &amp;amp; MEDIA_PAD_FL_SOURCE) {
+ret = set_format(pad, &amp;amp;format);
 if (ret &amp;lt; 0)
 return ret;
 }
&lt;/pre&gt;</description>
    <dc:creator>Sakari Ailus</dc:creator>
    <dc:date>2012-05-25T10:12:05</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48819">
    <title>[media-ctl PATCH v3.1 1/4] New, more flexible syntax for format</title>
    <link>http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48819</link>
    <description>&lt;pre&gt;More flexible and extensible syntax for format which allows better usage
of the selection API.

Continue supporting the old syntax but remove the documentation for it. It
was not supported in an official release and its use is thus deprecated.

Signed-off-by: Sakari Ailus &amp;lt;sakari.ailus&amp;lt; at &amp;gt;iki.fi&amp;gt;
---
Changes since v3:

Renamed strhazit() to better reflect its purpose and meaning.

 src/main.c       |   17 +++++++--
 src/options.c    |   27 +++++++++-----
 src/v4l2subdev.c |   97 ++++++++++++++++++++++++++++++++++++------------------
 3 files changed, 95 insertions(+), 46 deletions(-)

diff --git a/src/main.c b/src/main.c
index 53964e4..5d88b46 100644
--- a/src/main.c
+++ b/src/main.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -59,15 +59,24 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void v4l2_subdev_print_format(struct media_entity *entity,
 if (ret != 0)
 return;
 
-printf("[%s %ux%u", v4l2_subdev_pixelcode_to_string(format.code),
-       format.width, format.height);
+printf("\t\t[fmt:%s/%ux%u",
+       v4l2_subdev_pixelcode_to_string(format.code),
+        format.width, format.height);
+
+ret = v4l2_subdev_get_selection(entity, &amp;amp;rect, pad,
+V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS,
+which);
+if (ret == 0)
+printf("\n\t\t crop.bounds:(%u,%u)/%ux%u", rect.left, rect.top,
+       rect.width, rect.height);
 
 ret = v4l2_subdev_get_selection(entity, &amp;amp;rect, pad,
 V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL,
 which);
 if (ret == 0)
-printf(" (%u,%u)/%ux%u", rect.left, rect.top,
+printf("\n\t\t crop:(%u,%u)/%ux%u", rect.left, rect.top,
        rect.width, rect.height);
+
 printf("]");
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -252,7 +261,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void media_print_topology_text(struct media_device *media)
 for (j = 0; j &amp;lt; entity-&amp;gt;info.pads; j++) {
 struct media_pad *pad = &amp;amp;entity-&amp;gt;pads[j];
 
-printf("\tpad%u: %s ", j, media_pad_type_to_string(pad-&amp;gt;flags));
+printf("\tpad%u: %s\n", j, media_pad_type_to_string(pad-&amp;gt;flags));
 
 if (media_entity_type(entity) == MEDIA_ENT_T_V4L2_SUBDEV)
 v4l2_subdev_print_format(entity, j, V4L2_SUBDEV_FORMAT_ACTIVE);
diff --git a/src/options.c b/src/options.c
index 60cf6d5..46f6bef 100644
--- a/src/options.c
+++ b/src/options.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -37,8 +37,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void usage(const char *argv0, int verbose)
 printf("%s [options] device\n", argv0);
 printf("-d, --device devMedia device name (default: %s)\n", MEDIA_DEVNAME_DEFAULT);
 printf("-e, --entity namePrint the device name associated with the given entity\n");
-printf("-f, --set-formatComma-separated list of formats to setup\n");
-printf("    --get-format padPrint the active format on a given pad\n");
+printf("-V, --set-v4l2 v4l2Comma-separated list of formats to setup\n");
+printf("    --get-v4l2 padPrint the active format on a given pad\n");
 printf("-h, --helpShow verbose help and exit\n");
 printf("-i, --interactiveModify links interactively\n");
 printf("-l, --linksComma-separated list of links descriptors to setup\n");
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -52,13 +52,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void usage(const char *argv0, int verbose)
 
 printf("\n");
 printf("Links and formats are defined as\n");
-printf("\tlink            = pad, '-&amp;gt;', pad, '[', flags, ']' ;\n");
-printf("\tformat          = pad, '[', fcc, ' ', size, [ ' ', crop ], [ ' ', '&amp;lt; at &amp;gt;', frame interval ], ']' ;\n");
-printf("\tpad             = entity, ':', pad number ;\n");
-printf("\tentity          = entity number | ( '\"', entity name, '\"' ) ;\n");
-printf("\tsize            = width, 'x', height ;\n");
-printf("\tcrop            = '(', left, ',', top, ')', '/', size ;\n");
-printf("\tframe interval  = numerator, '/', denominator ;\n");
+printf("\tlink                = pad, '-&amp;gt;', pad, '[', flags, ']' ;\n");
+printf("\tv4l2                = pad, '[', v4l2-cfgs ']' ;\n");
+printf("\tv4l2-cfgs           = v4l2-cfg [ ',' v4l2-cfg ] ;\n");
+printf("\tv4l2-cfg            = v4l2-mbusfmt | v4l2-crop\n");
+printf("\t                      | v4l2 frame interval ;\n");
+printf("\tv4l2-mbusfmt        = 'fmt:', fcc, '/', size ;\n");
+printf("\tpad                 = entity, ':', pad number ;\n");
+printf("\tentity              = entity number | ( '\"', entity name, '\"' ) ;\n");
+printf("\tsize                = width, 'x', height ;\n");
+printf("\tv4l2-crop           = 'crop:(', left, ',', top, ')/', size ;\n");
+printf("\tv4l2 frame interval = '&amp;lt; at &amp;gt;', numerator, '/', denominator ;\n");
 printf("where the fields are\n");
 printf("\tentity number   Entity numeric identifier\n");
 printf("\tentity name     Entity name (string) \n");
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -77,7 +81,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void usage(const char *argv0, int verbose)
 static struct option opts[] = {
 {"device", 1, 0, 'd'},
 {"entity", 1, 0, 'e'},
+{"set-v4l2", 1, 0, 'V'},
 {"set-format", 1, 0, 'f'},
+{"get-v4l2", 1, 0, OPT_GET_FORMAT},
 {"get-format", 1, 0, OPT_GET_FORMAT},
 {"help", 0, 0, 'h'},
 {"interactive", 0, 0, 'i'},
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -98,7 +104,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int parse_cmdline(int argc, char **argv)
 }
 
 /* parse options */
-while ((opt = getopt_long(argc, argv, "d:e:f:hil:prv", opts, NULL)) != -1) {
+while ((opt = getopt_long(argc, argv, "d:e:V:f:hil:prv", opts, NULL)) != -1) {
 switch (opt) {
 case 'd':
 media_opts.devname = optarg;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -108,6 +114,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int parse_cmdline(int argc, char **argv)
 media_opts.entity = optarg;
 break;
 
+case 'V':
 case 'f':
 media_opts.formats = optarg;
 break;
diff --git a/src/v4l2subdev.c b/src/v4l2subdev.c
index a2ab0c4..2b4a923 100644
--- a/src/v4l2subdev.c
+++ b/src/v4l2subdev.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -232,14 +232,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int v4l2_subdev_parse_format(struct v4l2_mbus_framefmt *format,
 unsigned int width, height;
 char *end;
 
+/*
+ * Compatibility with the old syntax: consider space as valid
+ * separator between the media bus pixel code and the size.
+ */
 for (; isspace(*p); ++p);
-for (end = (char *)p; !isspace(*end) &amp;amp;&amp;amp; *end != '\0'; ++end);
+for (end = (char *)p;
+     *end != '/' &amp;amp;&amp;amp; *end != ' ' &amp;amp;&amp;amp; *end != '\0'; ++end);
 
 code = v4l2_subdev_string_to_pixelcode(p, end - p);
 if (code == (enum v4l2_mbus_pixelcode)-1)
 return -EINVAL;
 
-for (p = end; isspace(*p); ++p);
+p = end + 1;
 width = strtoul(p, &amp;amp;end, 10);
 if (*end != 'x')
 return -EINVAL;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -256,32 +261,32 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int v4l2_subdev_parse_format(struct v4l2_mbus_framefmt *format,
 return 0;
 }
 
-static int v4l2_subdev_parse_crop(
-struct v4l2_rect *crop, const char *p, char **endp)
+static int v4l2_subdev_parse_rectangle(
+struct v4l2_rect *r, const char *p, char **endp)
 {
 char *end;
 
 if (*p++ != '(')
 return -EINVAL;
 
-crop-&amp;gt;left = strtoul(p, &amp;amp;end, 10);
+r-&amp;gt;left = strtoul(p, &amp;amp;end, 10);
 if (*end != ',')
 return -EINVAL;
 
 p = end + 1;
-crop-&amp;gt;top = strtoul(p, &amp;amp;end, 10);
+r-&amp;gt;top = strtoul(p, &amp;amp;end, 10);
 if (*end++ != ')')
 return -EINVAL;
 if (*end != '/')
 return -EINVAL;
 
 p = end + 1;
-crop-&amp;gt;width = strtoul(p, &amp;amp;end, 10);
+r-&amp;gt;width = strtoul(p, &amp;amp;end, 10);
 if (*end != 'x')
 return -EINVAL;
 
 p = end + 1;
-crop-&amp;gt;height = strtoul(p, &amp;amp;end, 10);
+r-&amp;gt;height = strtoul(p, &amp;amp;end, 10);
 *endp = end;
 
 return 0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -307,6 +312,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int v4l2_subdev_parse_frame_interval(struct v4l2_fract *interval,
 return 0;
 }
 
+static int icanhasstr(const char *str, const char **p)
+{
+int len = strlen(str);
+
+if (strncmp(str, *p, len))
+return -ENOENT;
+
+*p += len;
+return 0;
+}
+
 static struct media_pad *v4l2_subdev_parse_pad_format(
 struct media_device *media, struct v4l2_mbus_framefmt *format,
 struct v4l2_rect *crop, struct v4l2_fract *interval, const char *p,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -326,30 +342,47 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct media_pad *v4l2_subdev_parse_pad_format(
 if (*p++ != '[')
 return NULL;
 
-for (; isspace(*p); ++p);
+for (;;) {
+for (; isspace(*p); p++);
 
-if (isalnum(*p)) {
-ret = v4l2_subdev_parse_format(format, p, &amp;amp;end);
-if (ret &amp;lt; 0)
-return NULL;
+/*
+ * Let users specify crop either explictly or
+ * implicitly using the old syntax.
+ */
+if (!icanhasstr("crop:", &amp;amp;p) || *p == '(') {
+ret = v4l2_subdev_parse_rectangle(crop, p, &amp;amp;end);
+if (ret &amp;lt; 0)
+return NULL;
 
-for (p = end; isspace(*p); p++);
-}
+p = end;
+continue;
+}
 
-if (*p == '(') {
-ret = v4l2_subdev_parse_crop(crop, p, &amp;amp;end);
-if (ret &amp;lt; 0)
-return NULL;
+/*
+ * Continue providing compatibility interface for
+ * users who use the old syntax: consider anything
+ * beginning with capital letter media bus pixel code.
+ */
+if (!icanhasstr("fmt:", &amp;amp;p)
+    || (*p &amp;gt;= 'A' &amp;amp;&amp;amp; *p &amp;lt;= 'Z')) {
+ret = v4l2_subdev_parse_format(format, p, &amp;amp;end);
+if (ret &amp;lt; 0)
+return NULL;
+
+p = end;
+continue;
+}
 
-for (p = end; isspace(*p); p++);
-}
+if (*p == '&amp;lt; at &amp;gt;') {
+ret = v4l2_subdev_parse_frame_interval(interval, ++p, &amp;amp;end);
+if (ret &amp;lt; 0)
+return NULL;
 
-if (*p == '&amp;lt; at &amp;gt;') {
-ret = v4l2_subdev_parse_frame_interval(interval, ++p, &amp;amp;end);
-if (ret &amp;lt; 0)
-return NULL;
+p = end;
+continue;
+}
 
-for (p = end; isspace(*p); p++);
+break;
 }
 
 if (*p != ']')
&lt;/pre&gt;</description>
    <dc:creator>Sakari Ailus</dc:creator>
    <dc:date>2012-05-25T10:11:38</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48818">
    <title>Re: [PATCH v3 08/10] arm: omap4panda: Add support for omap4iss camera</title>
    <link>http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48818</link>
    <description>&lt;pre&gt;* Sergio Aguirre &amp;lt;sergio.a.aguirre&amp;lt; at &amp;gt;gmail.com&amp;gt; [120523 21:49]:

Yeah seems about right.

Regards,

Tony
&lt;/pre&gt;</description>
    <dc:creator>Tony Lindgren</dc:creator>
    <dc:date>2012-05-25T10:00:08</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48817">
    <title>Re: [GIT PULL]: dma-buf updates for 3.5</title>
    <link>http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48817</link>
    <description>&lt;pre&gt;Hi Linus,

On 25 May 2012 13:25, Sumit Semwal &amp;lt;sumit.semwal&amp;lt; at &amp;gt;linaro.org&amp;gt; wrote:
I am really sorry - I goofed up in the git URL (sent the ssh URL
instead). Could you please use

git://git.linaro.org/people/sumitsemwal/linux-dma-buf.git tags/tag-for-linus-3.5

instead, or should I send a new pull request with the corrected URL?

Thanks, and best regards,
~Sumit.



&lt;/pre&gt;</description>
    <dc:creator>Sumit Semwal</dc:creator>
    <dc:date>2012-05-25T09:17:10</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48815">
    <title>[PATCH 2/3] [media] s5p-fimc: Fix compiler warning in fimc-capture.c file</title>
    <link>http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48815</link>
    <description>&lt;pre&gt;drivers/media/video/s5p-fimc/fimc-capture.c: In function ‘fimc_cap_streamon’:
drivers/media/video/s5p-fimc/fimc-capture.c:1053:29: warning: ignoring return
value of ‘media_entity_pipeline_start’, declared with attribute warn_unused_result [-Wunused-result]

Signed-off-by: Sachin Kamat &amp;lt;sachin.kamat&amp;lt; at &amp;gt;linaro.org&amp;gt;
---
 drivers/media/video/s5p-fimc/fimc-capture.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/media/video/s5p-fimc/fimc-capture.c b/drivers/media/video/s5p-fimc/fimc-capture.c
index 3545745..587d087 100644
--- a/drivers/media/video/s5p-fimc/fimc-capture.c
+++ b/drivers/media/video/s5p-fimc/fimc-capture.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1050,8 +1050,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int fimc_cap_streamon(struct file *file, void *priv,
 if (fimc_capture_active(fimc))
 return -EBUSY;
 
-media_entity_pipeline_start(&amp;amp;p-&amp;gt;subdevs[IDX_SENSOR]-&amp;gt;entity,
+ret = media_entity_pipeline_start(&amp;amp;p-&amp;gt;subdevs[IDX_SENSOR]-&amp;gt;entity,
     p-&amp;gt;m_pipeline);
+if (ret)
+return ret;
 
 if (fimc-&amp;gt;vid_cap.user_subdev_api) {
 ret = fimc_pipeline_validate(fimc);
&lt;/pre&gt;</description>
    <dc:creator>Sachin Kamat</dc:creator>
    <dc:date>2012-05-25T06:29:39</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48814">
    <title>[PATCH 3/3] [media] s5p-fimc: Stop media entity pipeline if fimc_pipeline_validate fails</title>
    <link>http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48814</link>
    <description>&lt;pre&gt;Stops the media entity pipeline which was started earlier
if fimc_pipeline_validate fails.

Signed-off-by: Sachin Kamat &amp;lt;sachin.kamat&amp;lt; at &amp;gt;linaro.org&amp;gt;
---
 drivers/media/video/s5p-fimc/fimc-capture.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/media/video/s5p-fimc/fimc-capture.c b/drivers/media/video/s5p-fimc/fimc-capture.c
index 587d087..d9efa64 100644
--- a/drivers/media/video/s5p-fimc/fimc-capture.c
+++ b/drivers/media/video/s5p-fimc/fimc-capture.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1057,8 +1057,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int fimc_cap_streamon(struct file *file, void *priv,
 
 if (fimc-&amp;gt;vid_cap.user_subdev_api) {
 ret = fimc_pipeline_validate(fimc);
-if (ret)
+if (ret) {
+media_entity_pipeline_stop(&amp;amp;p-&amp;gt;subdevs[IDX_SENSOR]-&amp;gt;entity);
 return ret;
+}
 }
 return vb2_streamon(&amp;amp;fimc-&amp;gt;vid_cap.vbq, type);
 }
&lt;/pre&gt;</description>
    <dc:creator>Sachin Kamat</dc:creator>
    <dc:date>2012-05-25T06:29:40</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48813">
    <title>[PATCH 1/3] [media] s5p-fimc: Fix compiler warning in fimc-lite.c</title>
    <link>http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48813</link>
    <description>&lt;pre&gt;Fixes the followng warning:
drivers/media/video/s5p-fimc/fimc-lite.c: In function ‘fimc_lite_streamon’:
drivers/media/video/s5p-fimc/fimc-lite.c:765:29: warning: ignoring return value
of ‘media_entity_pipeline_start’, declared with attribute warn_unused_result [-Wunused-result]

Signed-off-by: Sachin Kamat &amp;lt;sachin.kamat&amp;lt; at &amp;gt;linaro.org&amp;gt;
---
 drivers/media/video/s5p-fimc/fimc-lite.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/media/video/s5p-fimc/fimc-lite.c b/drivers/media/video/s5p-fimc/fimc-lite.c
index 400d701a..62faca5 100644
--- a/drivers/media/video/s5p-fimc/fimc-lite.c
+++ b/drivers/media/video/s5p-fimc/fimc-lite.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -762,7 +762,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int fimc_lite_streamon(struct file *file, void *priv,
 if (fimc_lite_active(fimc))
 return -EBUSY;
 
-media_entity_pipeline_start(&amp;amp;sensor-&amp;gt;entity, p-&amp;gt;m_pipeline);
+ret = media_entity_pipeline_start(&amp;amp;sensor-&amp;gt;entity, p-&amp;gt;m_pipeline);
+if (ret)
+return ret;
 
 ret = fimc_pipeline_validate(fimc);
 if (ret) {
&lt;/pre&gt;</description>
    <dc:creator>Sachin Kamat</dc:creator>
    <dc:date>2012-05-25T06:29:38</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48810">
    <title>[PATCH 2/2] LNB calculation fixed</title>
    <link>http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48810</link>
    <description>&lt;pre&gt;Signed-off-by: André Roth &amp;lt;neolynx&amp;lt; at &amp;gt;gmail.com&amp;gt;
---
 lib/libdvbv5/dvb-sat.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/lib/libdvbv5/dvb-sat.c b/lib/libdvbv5/dvb-sat.c
index 0cef091..c93b882 100644
--- a/lib/libdvbv5/dvb-sat.c
+++ b/lib/libdvbv5/dvb-sat.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -349,7 +349,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int dvb_sat_set_parms(struct dvb_v5_fe_parms *parms)
 {
 struct dvb_sat_lnb *lnb = parms-&amp;gt;lnb;
 enum dvb_sat_polarization pol;
-dvb_fe_retrieve_parm(parms, DTV_POLARIZATION,&amp;amp; pol);
+dvb_fe_retrieve_parm(parms, DTV_POLARIZATION, &amp;amp;pol);
 uint32_t freq;
 uint16_t t = 0;
 uint32_t voltage = SEC_VOLTAGE_13;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -364,27 +364,27 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int dvb_sat_set_parms(struct dvb_v5_fe_parms *parms)
 
 /* Simple case: LNBf with just Single LO */
 if (!lnb-&amp;gt;highfreq) {
-parms-&amp;gt;freq_offset = lnb-&amp;gt;lowfreq;
+parms-&amp;gt;freq_offset = lnb-&amp;gt;lowfreq * 1000;
 goto ret;
 }
 
 /* polarization-controlled multi LNBf */
 if (!lnb-&amp;gt;rangeswitch) {
 if ((pol == POLARIZATION_V) || (pol == POLARIZATION_R))
-parms-&amp;gt;freq_offset = lnb-&amp;gt;lowfreq;
+parms-&amp;gt;freq_offset = lnb-&amp;gt;lowfreq * 1000;
 else
-parms-&amp;gt;freq_offset = lnb-&amp;gt;highfreq;
+parms-&amp;gt;freq_offset = lnb-&amp;gt;highfreq * 1000;
 goto ret;
 }
 
 /* Voltage-controlled multiband switch */
-parms-&amp;gt;high_band = (freq &amp;gt; lnb-&amp;gt;rangeswitch) ? 1 : 0;
+parms-&amp;gt;high_band = (freq &amp;gt; lnb-&amp;gt;rangeswitch * 1000) ? 1 : 0;
 
 /* Adjust frequency */
 if (parms-&amp;gt;high_band)
-parms-&amp;gt;freq_offset = lnb-&amp;gt;highfreq;
+parms-&amp;gt;freq_offset = lnb-&amp;gt;highfreq * 1000;
 else
-parms-&amp;gt;freq_offset = lnb-&amp;gt;lowfreq;
+parms-&amp;gt;freq_offset = lnb-&amp;gt;lowfreq * 1000;
 
 /* For SCR/Unicable setups */
 if (parms-&amp;gt;freq_bpf) {
&lt;/pre&gt;</description>
    <dc:creator>André Roth</dc:creator>
    <dc:date>2012-05-24T22:02:10</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48809">
    <title>[PATCH 1/2] Tuning fixed</title>
    <link>http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48809</link>
    <description>&lt;pre&gt;Signed-off-by: André Roth &amp;lt;neolynx&amp;lt; at &amp;gt;gmail.com&amp;gt;
---
 lib/libdvbv5/dvb-fe.c |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/lib/libdvbv5/dvb-fe.c b/lib/libdvbv5/dvb-fe.c
index ba7bdf0..9d0866e 100644
--- a/lib/libdvbv5/dvb-fe.c
+++ b/lib/libdvbv5/dvb-fe.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -503,11 +503,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int dvb_fe_store_parm(struct dvb_v5_fe_parms *parms,
 
 int dvb_copy_fe_props(struct dtv_property *from, int n, struct dtv_property *to)
 {
-  int i, j;
-  for (i = 0, j = 0; i &amp;lt; n; i++)
-    if (from[i].cmd &amp;lt; DTV_USER_COMMAND_START)
-      to[j++] = from[i];
-  return j;
+int i, j;
+for (i = 0, j = 0; i &amp;lt; n; i++)
+if (from[i].cmd &amp;lt; DTV_USER_COMMAND_START)
+to[j++] = from[i];
+return j;
 }
 
 int dvb_fe_get_parms(struct dvb_v5_fe_parms *parms)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -529,6 +529,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int dvb_fe_get_parms(struct dvb_v5_fe_parms *parms)
 parms-&amp;gt;dvb_prop[n].cmd = DTV_DELIVERY_SYSTEM;
 parms-&amp;gt;dvb_prop[n].u.data = parms-&amp;gt;current_sys;
 n++;
+
 /* Keep it ready for set */
 parms-&amp;gt;dvb_prop[n].cmd = DTV_TUNE;
 parms-&amp;gt;n_props = n;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -604,17 +605,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int dvb_fe_set_parms(struct dvb_v5_fe_parms *parms)
 uint32_t bw;
 
 struct dtv_property fe_prop[DTV_MAX_COMMAND];
-int n = dvb_copy_fe_props(parms-&amp;gt;dvb_prop, parms-&amp;gt;n_props, fe_prop);
-
-prop.props = fe_prop;
-prop.num = n + 1;
-parms-&amp;gt;dvb_prop[parms-&amp;gt;n_props].cmd = DTV_TUNE;
 
 if (is_satellite(parms-&amp;gt;current_sys)) {
 dvb_fe_retrieve_parm(parms, DTV_FREQUENCY, &amp;amp;freq);
 dvb_sat_set_parms(parms);
 }
 
+int n = dvb_copy_fe_props(parms-&amp;gt;dvb_prop, parms-&amp;gt;n_props, fe_prop);
+
+prop.props = fe_prop;
+prop.num = n;
+prop.props[prop.num].cmd = DTV_TUNE;
+prop.num++;
+
 if (!parms-&amp;gt;legacy_fe) {
 if (ioctl(parms-&amp;gt;fd, FE_SET_PROPERTY, &amp;amp;prop) == -1) {
 dvb_perror("FE_SET_PROPERTY");
&lt;/pre&gt;</description>
    <dc:creator>André Roth</dc:creator>
    <dc:date>2012-05-24T22:02:09</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48807">
    <title>Re: Discussion: How to deal with radio tuners which can tune to multiple bands</title>
    <link>http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48807</link>
    <description>&lt;pre&gt;
Sure... I will implement this proposal and send the patches :)



&lt;/pre&gt;</description>
    <dc:creator>halli manjunatha</dc:creator>
    <dc:date>2012-05-24T19:34:03</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48806">
    <title>Re: Discussion: How to deal with radio tuners which can tune to multiple bands</title>
    <link>http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48806</link>
    <description>&lt;pre&gt;Hi,

On 05/24/2012 05:00 PM, Hans Verkuil wrote:

&amp;lt;snip&amp;gt;


Ok.


Ok so that is 2 votes for using capability bits, so lets go with that solution
rather then requiring the app to do a g_tuner with all possible bands to
find out which bands are available.


Ah, yes modulators, good one, ack.

Manjunatha, since the final proposal is close to yours, and you already have
a patch for that including all the necessary documentation updates, can I ask
you to update your patch to implement this proposal?

I must admit another reason is that I don't really have a lot of time to work
on this atm, and it would be good to get this finalized soon, so that we will
be ready well in advance of the 3.6 cycle start :)

Thanks &amp;amp; Regards,

Hans
&lt;/pre&gt;</description>
    <dc:creator>Hans de Goede</dc:creator>
    <dc:date>2012-05-24T19:12:25</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48805">
    <title>Re: [PATCH 1/3] stv090x: Fix typo in register macros</title>
    <link>http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48805</link>
    <description>&lt;pre&gt;Am 15.05.2012 14:43, schrieb Manu Abraham:

Hi Manu,

I checked the datasheet. You are right, the actual bitfield of register Px_ERRCNT22 is named there Px_ERR_CNT2 but the same name is also used for the bitfields of registers Px_ERRCNT21 and Px_ERRCNT20. I think naming it CNT22 better reflects its actual meaning of being the only a part of the counter value. It also would match the naming of ERRCNT12.

Best regards
Andreas
&lt;/pre&gt;</description>
    <dc:creator>Andreas Regel</dc:creator>
    <dc:date>2012-05-24T18:26:04</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48804">
    <title>cron job: media_tree daily build: WARNINGS</title>
    <link>http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48804</link>
    <description>&lt;pre&gt;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:        Thu May 24 19:00:36 CEST 2012
git hash:    5472d3f17845c4398c6a510b46855820920c2181
gcc version:      i686-linux-gcc (GCC) 4.6.3
host hardware:    x86_64
host os:          3.3-6.slh.2-amd64

linux-git-arm-eabi-davinci: WARNINGS
linux-git-arm-eabi-exynos: WARNINGS
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-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-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
apps: WARNINGS
spec-git: WARNINGS
sparse: ERRORS

Detailed results are available here:

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

Full logs are available here:

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

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

http://www.xs4all.nl/~hverkuil/spec/media.html
&lt;/pre&gt;</description>
    <dc:creator>Hans Verkuil</dc:creator>
    <dc:date>2012-05-24T17:59:45</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48803">
    <title>Help requested, frame grabber stops working on Debian upgrade (Lenny to Squeeze)</title>
    <link>http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48803</link>
    <description>&lt;pre&gt;Hello,

Please could anyone try to assist with this problem with video capture after a 
system upgrade?

I have a frame grabber that has 8 BT878 (or very similar) chips on one card, 
also a V4L2 application that reads single frames from attached video cameras. 
I was using this set-up successfully under Debian 'Lenny' on a modest AMD 
system. As Lenny seems to be no longer supported I upgraded to 'Squeeze' 
using the aptitude manager which seemed to go fairly smoothly. 

Unfortunately post the upgrade I no longer see the 8 /dev/video[0-7] devices 
that were previously in the /dev directory. I was expecting them to appear 
automatically when the card was initialised but I also tried creating one 
manually which created the file but that was not readable by my app. 
(mknod /dev/video0 c 81 0)

I've Googled extensively but can't find anything that looks like this problem. 
I'd be very grateful if anyone was able to assist.

Rob Murgatroyd


This is the modprobe option list it needs to be able to see the card:
options i2c-algo-bit bit_test=1
options bttv gbuffers=32 card=102,102,102,102,102,102,102,102 tuner=0 coring=1 
full_luma_range=1 chroma_agc=1 pll=1 combfilter=1 triton1=0


Extract from the 'messages' log after it broke:
[   10.797179] Linux video capture interface: v2.00
[   11.259971] bttv: driver version 0.9.18 loaded
[   11.259976] bttv: using 32 buffers with 2080k (520 pages) each for capture
[   11.260426] bttv: Bt8xx card found (0).
[   11.260901] ACPI: PCI Interrupt Link [APC3] enabled at IRQ 18
[   11.260917] bttv 0000:04:08.0: PCI INT A -&amp;gt; Link[APC3] -&amp;gt; GSI 18 (level, 
low) -&amp;gt; IRQ 18
[   11.260934] bttv0: Bt878 (rev 17) at 0000:04:08.0, irq: 18, latency: 32, 
mmio: 0xfdcff000
[   11.260984] bttv0: using: IVC-200 [card=102,insmod option]
[   11.260987] IRQ 18/bttv0: IRQF_DISABLED is not guaranteed on shared IRQs
[   11.261059] bt878 #0 [sw]: bus seems to be busy
[   11.264545] ACPI: PCI Interrupt Link [APCJ] enabled at IRQ 23
[   11.264551] Intel ICH 0000:00:10.2: PCI INT C -&amp;gt; Link[APCJ] -&amp;gt; GSI 23 
(level, low) -&amp;gt; IRQ 23
[   11.596024] intel8x0_measure_ac97_clock: measured 54870 usecs (2696 
samples)
[   11.596028] intel8x0: clocking to 46892
[   12.064864] bttv0: tuner type=0
[   12.127363] *pde = 00000000
[   12.127404] Modules linked in: msp3400 snd_intel8x0 bttv(+) snd_ac97_codec 
ac97_bus v4l2_common snd_pcm videodev v4l1_compat snd_seq ir_
common videobuf_dma_sg videobuf_core btcx_risc tveeprom snd_timer 
snd_seq_device shpchp snd nouveau soundcore snd_page_alloc k8temp ttm 
drm_kms_helper pcspkr pci_hotplug serio_raw evdev parport_pc drm i2c_nforce2 
i2c_algo_bit i2c_core parport processor button ext3 jbd mbcache sg sr_mod 
cdrom usbhid hid sd_mod crc_t10dif ata_generic usb_storage pata_amd ohci_hcd 
fan sata_nv forcedeth thermal ehci_hcd libata floppy scsi_mod usbcore nls_base 
thermal_sys [last unloaded: scsi_wait_scan]
[   12.127660]
[   12.127670] Pid: 726, comm: modprobe Not tainted (2.6.32-5-686 #1)
[   12.127683] EIP: 0060:[&amp;lt;dcb84374&amp;gt;] EFLAGS: 00010246 CPU: 0
[   12.127700] EIP is at i2c_new_probed_device+0x22/0x133 [i2c_core]
[   12.127713] EAX: d48e383c EBX: d4931eac ECX: d4931eac EDX: 00000000
[   12.127725] ESI: d4931eac EDI: d48e383c EBP: d4931eac ESP: d4931d7c
[   12.127738]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[   12.127770]  2b6ce215 d4931dfc ffffffff 00000092 00000000 00000001 00000092 
c1393118
[   12.127803] &amp;lt;0&amp;gt; 0000afab c1047882 b46116fa d48e383c b46116fa d48e383c 
d4931eac dee0eeeb
[   12.127839] &amp;lt;0&amp;gt; 00000009 ded43ed0 d48e3800 00000000 d4931dfc d4931e20 
00000009 ded44048
[   12.127893]  [&amp;lt;c1047882&amp;gt;] ? up+0x9/0x2a
[   12.128259]  [&amp;lt;ded43ed0&amp;gt;] ? v4l2_i2c_new_subdev_board+0x40/0x133 
[v4l2_common]
[   12.128866]  [&amp;lt;dee0b6cb&amp;gt;] ? bttv_init_card2+0x13fc/0x149a [bttv]
[   12.128866]  [&amp;lt;c126e107&amp;gt;] ? _cond_resched+0x25/0x3c
[   12.128866]  [&amp;lt;dcb9c0bb&amp;gt;] ? sclhi+0x3c/0x4d [i2c_algo_bit]
[   12.128866]  [&amp;lt;dcb9c313&amp;gt;] ? test_bus+0x126/0x140 [i2c_algo_bit]
[   12.128866]  [&amp;lt;dcb9c763&amp;gt;] ? i2c_bit_add_bus+0x1a/0x3b [i2c_algo_bit]
[   12.128866]  [&amp;lt;dee0bee7&amp;gt;] ? init_bttv_i2c+0x16f/0x1e3 [bttv]
[   12.128866]  [&amp;lt;dee09bd3&amp;gt;] ? bttv_probe+0x4d6/0x8e4 [bttv]
[   12.128866]  [&amp;lt;c11470e5&amp;gt;] ? local_pci_probe+0xb/0xc
[   12.128866]  [&amp;lt;c1147a2f&amp;gt;] ? pci_device_probe+0x41/0x63
[   12.128866]  [&amp;lt;c11b3c96&amp;gt;] ? driver_probe_device+0x8a/0x11e
[   12.128866]  [&amp;lt;c11b3d6a&amp;gt;] ? __driver_attach+0x40/0x5b
[   12.128866]  [&amp;lt;c11b36d9&amp;gt;] ? bus_for_each_dev+0x37/0x5f
[   12.128866]  [&amp;lt;c11b3b69&amp;gt;] ? driver_attach+0x11/0x13
[   12.128866]  [&amp;lt;c11b3d2a&amp;gt;] ? __driver_attach+0x0/0x5b
[   12.128866]  [&amp;lt;c11b31a1&amp;gt;] ? bus_add_driver+0x99/0x1c5
[   12.128866]  [&amp;lt;c11b3f9b&amp;gt;] ? driver_register+0x87/0xe0
[   12.128866]  [&amp;lt;c11b3803&amp;gt;] ? bus_create_file+0x33/0x39
[   12.128866]  [&amp;lt;c1147c00&amp;gt;] ? __pci_register_driver+0x33/0x89
[   12.128866]  [&amp;lt;dee19000&amp;gt;] ? bttv_init_module+0x0/0xcf [bttv]
[   12.128866]  [&amp;lt;dee190bb&amp;gt;] ? bttv_init_module+0xbb/0xcf [bttv]
[   12.128866]  [&amp;lt;c100113e&amp;gt;] ? do_one_initcall+0x55/0x155
[   12.128866]  [&amp;lt;c1057c4d&amp;gt;] ? sys_init_module+0xa7/0x1d7
[   12.128866]  [&amp;lt;c10030fb&amp;gt;] ? sysenter_do_call+0x12/0x28
[   12.176321] ---[ end trace bf8ca0abb9c14c4a ]---


Edited from lsmod after it broke:
Module                  Size  Used by
btcx_risc               2499  1 bttv 
bttv                  111899  1
i2c_algo_bit            3493  2 bttv,nouveau
i2c_core               12787  10 
msp3400,bttv,v4l2_common,videodev,tveeprom,nouveau,drm_kms_helper,drm,i2c_nforce2,i2c_algo_bit
ir_common              22187  1 bttv
tveeprom                9393  1 bttv
v4l1_compat            10250  1 videodev
v4l2_common             9820  2 msp3400,bttv
videobuf_core          10476  2 bttv,videobuf_dma_sg
videobuf_dma_sg         7203  1 bttv
videodev               25637  3 msp3400,bttv,v4l2_common


lspci after it broke:
04:08.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture 
(rev 11)
04:08.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 
11)
04:09.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture 
(rev 11)
04:09.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 
11)
04:0a.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture 
(rev 11)
04:0a.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 
11)
04:0b.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture 
(rev 11)
04:0b.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 
11)
04:0c.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture 
(rev 11)
04:0c.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 
11)
04:0d.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture 
(rev 11)
04:0d.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 
11)
04:0e.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture 
(rev 11)
04:0e.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 
11)
04:0f.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture 
(rev 11)
04:0f.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 
11)


From the 'messages' log when it was working before the upgrade:
[   20.609930] Linux video capture interface: v2.00
[   20.658831] bttv: driver version 0.9.17 loaded
[   20.658836] bttv: using 32 buffers with 2080k (520 pages) each for capture
[   20.658892] bttv: Bt8xx card found (0).
[   20.659354] ACPI: PCI Interrupt Link [APC3] enabled at IRQ 18
[   20.659366] ACPI: PCI Interrupt 0000:04:08.0[A] -&amp;gt; Link [APC3] -&amp;gt; GSI 18 
(level, low) -&amp;gt; IRQ 18
[   20.659382] bttv0: Bt878 (rev 17) at 0000:04:08.0, irq: 18, latency: 32, 
mmio: 0xfdcff000
[   20.666228] bttv0: using: IVC-200 [card=102,insmod option]
[   20.666294] bt878 #0 [sw]: bus seems to be busy
[   21.464033] bttv0: tuner absent
[   21.464088] bttv0: registered device video0
[   21.464110] bttv0: registered device vbi0
[   21.464138] bttv0: PLL: 28636363 =&amp;gt; 35468950 .. ok
[   21.496057] bttv: Bt8xx card found (1).
[   21.496511] ACPI: PCI Interrupt Link [APC4] enabled at IRQ 19
[   21.496522] ACPI: PCI Interrupt 0000:04:09.0[A] -&amp;gt; Link [APC4] -&amp;gt; GSI 19 
(level, low) -&amp;gt; IRQ 19
[   21.496539] bttv1: Bt878 (rev 17) at 0000:04:09.0, irq: 19, latency: 32, 
mmio: 0xfdcfd000
[   21.496561] bttv1: using: IVC-200 [card=102,insmod option]
[   21.496625] bt878 #1 [sw]: bus seems to be busy
[   22.296039] bttv1: tuner absent
[   22.296105] bttv1: registered device video1
[   22.296128] bttv1: registered device vbi1
[   22.296156] bttv1: PLL: 28636363 =&amp;gt; 35468950 .. ok
[   22.328043] bttv: Bt8xx card found (2).
[   22.328497] ACPI: PCI Interrupt Link [APC1] enabled at IRQ 16
[   22.328507] ACPI: PCI Interrupt 0000:04:0a.0[A] -&amp;gt; Link [APC1] -&amp;gt; GSI 16 
(level, low) -&amp;gt; IRQ 16
[   22.328524] bttv2: Bt878 (rev 17) at 0000:04:0a.0, irq: 16, latency: 32, 
mmio: 0xfdcfb000
[   22.328543] bttv2: using: IVC-200 [card=102,insmod option]
[   22.328605] bt878 #2 [sw]: bus seems to be busy
etc. for the other chips.
&lt;/pre&gt;</description>
    <dc:creator>Rob Murgatroyd</dc:creator>
    <dc:date>2012-05-24T16:46:59</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48802">
    <title>Re: [GIT PULL for v3.5-rc1] media updates for v3.5</title>
    <link>http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/48802</link>
    <description>&lt;pre&gt;Hi Ezequiel,

Em 24-05-2012 13:33, Ezequiel Garcia escreveu:

:)


The from: comes from the email header, so if you changed it on your emailer, it
will affect the way it will be handled.


No, this is not relevant. It is not uncommon that the from: line is not
matching the signed-off-by line, due to lowercase/upserspace and accents,
among other issues.

Regards,
Mauro

&lt;/pre&gt;</description>
    <dc:creator>Mauro Carvalho Chehab</dc:creator>
    <dc:date>2012-05-24T16:44:47</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.linux.drivers.video-input-infrastructure">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.linux.drivers.video-input-infrastructure</link>
  </textinput>
</rdf:RDF>

