[GIT PULL] fixes for 3.15

2014-05-03 Thread Guennadi Liakhovetski
Hi Mauro,

I've collected these patches over some time, they contain real fixes for 
real problems :) Please, push to 3.15 before it enters a critical 
life-or-world-rescuing if-not-be-prepared-to-be-fried phase :)

The following changes since commit 6c6ca9c2a5b97ab37ffd1b091d15eb5cd3f1bf23:

  Merge tag 'pm+acpi-3.15-rc4' of 
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm (2014-05-02 
18:16:31 -0700)

are available in the git repository at:


  git://linuxtv.org/gliakhovetski/v4l-dvb.git fixes-3.15-rc3

for you to fetch changes up to e35b8a5da7721b2a7b92d3b51812ab7d540c3e73:

  V4L2: fix VIDIOC_CREATE_BUFS in 64- / 32-bit compatibility mode (2014-05-03 
11:56:19 +0200)


Guennadi Liakhovetski (2):
  V4L2: ov7670: fix a wrong index, potentially Oopsing the kernel from 
user-space
  V4L2: fix VIDIOC_CREATE_BUFS in 64- / 32-bit compatibility mode

Hans Verkuil (3):
  v4l2-subdev.h: add g_tvnorms video op
  tw9910: add g_tvnorms video op
  soc_camera: disable STD ioctls if no tvnorms are set.

 drivers/media/i2c/ov7670.c |  2 +-
 drivers/media/i2c/soc_camera/tw9910.c  |  7 +++
 drivers/media/platform/soc_camera/soc_camera.c |  8 
 drivers/media/v4l2-core/v4l2-compat-ioctl32.c  | 12 +++-
 include/media/v4l2-subdev.h|  8 ++--
 5 files changed, 29 insertions(+), 8 deletions(-)

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


Please Acknowledge My Proposal

2014-05-03 Thread Gva Abogados
Please Acknowledge My Proposal!!

My name is Mr. Juan Martin Domingo a lawyer resident in Spain. I am
writing to let you know I have some FUNDS I want to transfer and am
seeking if you can be a beneficiary...Do not hesitate to Contact me for
more information if interested: gva_aboga...@aim.com

Sincerely
Juan Martin Domingo.
domi...@aim.com

--
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] V4L: soc-camera: wxplicitly free allocated managed memory on error

2014-05-03 Thread Guennadi Liakhovetski
devm_kzalloc() allocations are freed when the device is unbound. But if a
certain path fails and the allocated memory cannot be used anyway it is
better to free it explicitly immediately. This patch does exactly this if
asynchronous group probing in scan_async_group() fails after memory has
been allocated.

Signed-off-by: Guennadi Liakhovetski g.liakhovet...@gmx.de
---
 drivers/media/platform/soc_camera/soc_camera.c | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/media/platform/soc_camera/soc_camera.c 
b/drivers/media/platform/soc_camera/soc_camera.c
index 4b8c024..ef5e197 100644
--- a/drivers/media/platform/soc_camera/soc_camera.c
+++ b/drivers/media/platform/soc_camera/soc_camera.c
@@ -1522,14 +1522,14 @@ static int scan_async_group(struct soc_camera_host *ici,
 
ret = soc_camera_dyn_pdev(sdesc, sasc);
if (ret  0)
-   return ret;
+   goto eallocpdev;
 
sasc-sensor = sasd-asd;
 
icd = soc_camera_add_pdev(sasc);
if (!icd) {
-   platform_device_put(sasc-pdev);
-   return -ENOMEM;
+   ret = -ENOMEM;
+   goto eaddpdev;
}
 
sasc-notifier.subdevs = asd;
@@ -1557,7 +1557,11 @@ static int scan_async_group(struct soc_camera_host *ici,
v4l2_clk_unregister(icd-clk);
 eclkreg:
icd-clk = NULL;
-   platform_device_unregister(sasc-pdev);
+   platform_device_del(sasc-pdev);
+eaddpdev:
+   platform_device_put(sasc-pdev);
+eallocpdev:
+   devm_kfree(ici-v4l2_dev.dev, sasc);
dev_err(ici-v4l2_dev.dev, group probe failed: %d\n, ret);
 
return ret;
-- 
1.9.2

--
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 v5 1/3] ARM: sunxi: Add documentation for sunxi consumer infrared devices

2014-05-03 Thread Maxime Ripard
On Wed, Apr 30, 2014 at 09:16:48PM +0600, Alexander Bersenev wrote:
 This patch adds documentation for Device-Tree bindings for sunxi IR
 controller.
 
 Signed-off-by: Alexander Bersenev b...@hackerdom.ru
 Signed-off-by: Alexsey Shestacov wingr...@linux-sunxi.org
 ---
  .../devicetree/bindings/media/sunxi-ir.txt | 23 
 ++
  1 file changed, 23 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/media/sunxi-ir.txt
 
 diff --git a/Documentation/devicetree/bindings/media/sunxi-ir.txt 
 b/Documentation/devicetree/bindings/media/sunxi-ir.txt
 new file mode 100644
 index 000..d502cf4
 --- /dev/null
 +++ b/Documentation/devicetree/bindings/media/sunxi-ir.txt
 @@ -0,0 +1,23 @@
 +Device-Tree bindings for SUNXI IR controller found in sunXi SoC family
 +
 +Required properties:
 +- compatible : should be allwinner,sun7i-a20-ir;
 +- clocks : list of clock specifiers, corresponding to
 +   entries in clock-names property;
 +- clock-names: should contain apb0_ir0 and ir0 entries;
 +- interrupts : should contain IR IRQ number;
 +- reg: should contain IO map address for IR.
 +
 +Optional properties:
 +- linux,rc-map-name : Remote control map name.
 +
 +Example:
 +
 +ir0: ir@01c21800 {
 + compatible = allwinner,sun7i-a20-ir;
 + clocks = apb0_gates 6, ir0_clk;
 + clock-names = apb0_ir0, ir0;

Most of the time, we use something like apb and ir. The names
being generic, if there ever comes a time where you have a second
controller, you don't have to do anything confusing or inconsistent.

Thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com


signature.asc
Description: Digital signature


Re: [PATCH v3] sunxi: Add support for consumer infrared devices

2014-05-03 Thread Maxime Ripard
On Wed, Apr 30, 2014 at 02:06:27AM -0700, Александр Берсенев wrote:
 Also setting clock-frequency via DT is not implenented yet for sunxi 
 clocks. I can try to add this functionality too.

The clock frequency should be on the device node, not the clock
one. On such cases, it's up to the device to call clk_set_rate and not
to expect the clock to run at the proper frequency.

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com


signature.asc
Description: Digital signature


Re: [PATCH v5 2/3] ARM: sunxi: Add driver for sunxi IR controller

2014-05-03 Thread Maxime Ripard
On Wed, Apr 30, 2014 at 09:16:49PM +0600, Alexander Bersenev wrote:
 This patch adds driver for sunxi IR controller.
 It is based on Alexsey Shestacov's work based on the original driver
 supplied by Allwinner.
 
 Signed-off-by: Alexander Bersenev b...@hackerdom.ru
 Signed-off-by: Alexsey Shestacov wingr...@linux-sunxi.org
 ---
  drivers/media/rc/Kconfig|  10 ++
  drivers/media/rc/Makefile   |   1 +
  drivers/media/rc/sunxi-ir.c | 303 
 
  3 files changed, 314 insertions(+)
  create mode 100644 drivers/media/rc/sunxi-ir.c
 
 diff --git a/drivers/media/rc/Kconfig b/drivers/media/rc/Kconfig
 index 8fbd377..9427fad 100644
 --- a/drivers/media/rc/Kconfig
 +++ b/drivers/media/rc/Kconfig
 @@ -343,4 +343,14 @@ config RC_ST
  
If you're not sure, select N here.
  
 +config IR_SUNXI
 +tristate SUNXI IR remote control
 +depends on RC_CORE
 +depends on ARCH_SUNXI
 +---help---
 +  Say Y if you want to use sunXi internal IR Controller
 +
 +  To compile this driver as a module, choose M here: the module will
 +  be called sunxi-ir.
 +
  endif #RC_DEVICES
 diff --git a/drivers/media/rc/Makefile b/drivers/media/rc/Makefile
 index f8b54ff..93cdbe9 100644
 --- a/drivers/media/rc/Makefile
 +++ b/drivers/media/rc/Makefile
 @@ -32,4 +32,5 @@ obj-$(CONFIG_IR_GPIO_CIR) += gpio-ir-recv.o
  obj-$(CONFIG_IR_IGUANA) += iguanair.o
  obj-$(CONFIG_IR_TTUSBIR) += ttusbir.o
  obj-$(CONFIG_RC_ST) += st_rc.o
 +obj-$(CONFIG_IR_SUNXI) += sunxi-ir.o
  obj-$(CONFIG_IR_IMG) += img-ir/
 diff --git a/drivers/media/rc/sunxi-ir.c b/drivers/media/rc/sunxi-ir.c
 new file mode 100644
 index 000..f051d94
 --- /dev/null
 +++ b/drivers/media/rc/sunxi-ir.c
 @@ -0,0 +1,303 @@
 +/*
 + * Driver for Allwinner sunXi IR controller
 + *
 + * Copyright (C) 2014 Alexsey Shestacov wingr...@linux-sunxi.org
 + * Copyright (C) 2014 Alexander Bersenev b...@hackerdom.ru
 + *
 + * Based on sun5i-ir.c:
 + * Copyright (C) 2007-2012 Daniel Wang
 + * Allwinner Technology Co., Ltd. www.allwinnertech.com
 + *
 + * This program is free software; you can redistribute it and/or
 + * modify it under the terms of the GNU General Public License as
 + * published by the Free Software Foundation; either version 2 of
 + * the License, or (at your option) any later version.
 + *
 + * This program is distributed in the hope that it will be useful,
 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 + * GNU General Public License for more details.
 + */
 +
 +#include linux/clk.h
 +#include linux/interrupt.h
 +#include linux/module.h
 +#include linux/of_platform.h
 +#include media/rc-core.h
 +
 +#define SUNXI_IR_DEV sunxi-ir
 +
 +/* Registers */
 +/* IR Control */
 +#define SUNXI_IR_CTL_REG  0x00
 +/* Rx Config */
 +#define SUNXI_IR_RXCTL_REG0x10
 +/* Rx Data */
 +#define SUNXI_IR_RXFIFO_REG   0x20
 +/* Rx Interrupt Enable */
 +#define SUNXI_IR_RXINT_REG0x2C
 +/* Rx Interrupt Status */
 +#define SUNXI_IR_RXSTA_REG0x30
 +/* IR Sample Config */
 +#define SUNXI_IR_CIR_REG  0x34
 +
 +/* Bit Definition of IR_RXINTS_REG Register */
 +#define SUNXI_IR_RXINTS_RXOF  BIT(0) /* Rx FIFO Overflow */
 +#define SUNXI_IR_RXINTS_RXPE  BIT(1) /* Rx Packet End */
 +#define SUNXI_IR_RXINTS_RXDA  BIT(4) /* Rx FIFO Data Available */
 +/* Hardware supported fifo size */
 +#define SUNXI_IR_FIFO_SIZE16
 +/* How much messages in fifo triggers IRQ */
 +#define SUNXI_IR_FIFO_TRIG8
 +/* Required frequency for IR0 or IR1 clock in CIR mode */
 +#define SUNXI_IR_BASE_CLK 800
 +/* Frequency after IR internal divider  */
 +#define SUNXI_IR_CLK  (SUNXI_IR_BASE_CLK / 64)
 +/* Sample period in ns */
 +#define SUNXI_IR_SAMPLE   (10ul / SUNXI_IR_CLK)
 +/* Filter threshold in samples  */
 +#define SUNXI_IR_RXFILT   1
 +/* Idle Threshold in samples */
 +#define SUNXI_IR_RXIDLE   20
 +/* Time after which device stops sending data in ms */
 +#define SUNXI_IR_TIMEOUT  120
 +
 +struct sunxi_ir {
 + spinlock_t  ir_lock;
 + struct rc_dev   *rc;
 + void __iomem*base;
 + int irq;
 + struct clk  *clk;
 + struct clk  *apb_clk;
 + const char  *map_name;
 +};
 +
 +static irqreturn_t sunxi_ir_irq(int irqno, void *dev_id)
 +{
 + unsigned long status;
 + unsigned char dt;
 + unsigned int cnt, rc;
 + struct sunxi_ir *ir = dev_id;
 + DEFINE_IR_RAW_EVENT(rawir);
 +
 + spin_lock_irq(ir-ir_lock);
 +
 + status = readl(ir-base + SUNXI_IR_RXSTA_REG);
 +
 + /* clean all pending statuses */
 + writel(status | 0xff, ir-base + SUNXI_IR_RXSTA_REG);
 +
 + if (status  SUNXI_IR_RXINTS_RXDA) {
 + /* How much messages in fifo */
 + rc  = (status  8)  0x3f;
 + /* Sanity check */
 + rc = rc  SUNXI_IR_FIFO_SIZE ? SUNXI_IR_FIFO_SIZE : rc;
 + /* if we have data */
 + 

Re: [PATCH v5 3/3] ARM: sunxi: Add IR controller support in DT on A20

2014-05-03 Thread Maxime Ripard
On Wed, Apr 30, 2014 at 09:16:50PM +0600, Alexander Bersenev wrote:
 This patch adds IR controller in A20 Device-Tree:
 - Two IR devices found in A20 user manual
 - Pins for two devices
 - One IR device physically found on Cubieboard 2
 - One IR device physically found on Cubietruck
 
 Signed-off-by: Alexander Bersenev b...@hackerdom.ru
 Signed-off-by: Alexsey Shestacov wingr...@linux-sunxi.org
 ---
  arch/arm/boot/dts/sun7i-a20-cubieboard2.dts |  6 ++
  arch/arm/boot/dts/sun7i-a20-cubietruck.dts  |  6 ++
  arch/arm/boot/dts/sun7i-a20.dtsi| 31 
 +
  3 files changed, 43 insertions(+)
 
 diff --git a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts 
 b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
 index feeff64..2564e8c 100644
 --- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
 +++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
 @@ -164,6 +164,12 @@
   reg = 1;
   };
   };
 +
 + ir0: ir@01c21800 {
 + pinctrl-names = default;
 + pinctrl-0 = ir0_pins_a;
 + status = okay;
 + };
   };
  
   leds {
 diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts 
 b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
 index e288562..e375e89 100644
 --- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
 +++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
 @@ -232,6 +232,12 @@
   reg = 1;
   };
   };
 +
 + ir0: ir@01c21800 {
 + pinctrl-names = default;
 + pinctrl-0 = ir0_pins_a;
 + status = okay;
 + };
   };
  
   leds {
 diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi 
 b/arch/arm/boot/dts/sun7i-a20.dtsi
 index 0ae2b77..bb655a5 100644
 --- a/arch/arm/boot/dts/sun7i-a20.dtsi
 +++ b/arch/arm/boot/dts/sun7i-a20.dtsi
 @@ -724,6 +724,19 @@
   allwinner,drive = 2;
   allwinner,pull = 0;
   };
 +
 + ir0_pins_a: ir0@0 {
 + allwinner,pins = PB3,PB4;
 + allwinner,function = ir0;
 + allwinner,drive = 0;
 + allwinner,pull = 0;
 + };
 + ir1_pins_a: ir1@0 {
 + allwinner,pins = PB22,PB23;
 + allwinner,function = ir1;
 + allwinner,drive = 0;
 + allwinner,pull = 0;
 + };
   };
  
   timer@01c20c00 {
 @@ -937,5 +950,23 @@
   #interrupt-cells = 3;
   interrupts = 1 9 0xf04;
   };
 +
 + ir0: ir@01c21800 {

This line...

 + compatible = allwinner,sun7i-a20-ir;
 + clocks = apb0_gates 6, ir0_clk;
 + clock-names = apb, ir;
 + interrupts = 0 5 4;
 + reg = 0x01c21800 0x40;
 + status = disabled;
 + };
 +
 + ir1: ir@01c21c00 {

... and this one are indented a tab too far.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com


signature.asc
Description: Digital signature


[PATCH 2/3] smiapp: Check for GPIO validity using gpio_is_valid()

2014-05-03 Thread Sakari Ailus
Do not use our special value, SMIAPP_NO_XSHUTDOWN.

Signed-off-by: Sakari Ailus sakari.ai...@iki.fi
---
 drivers/media/i2c/smiapp/smiapp-core.c |   10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/media/i2c/smiapp/smiapp-core.c 
b/drivers/media/i2c/smiapp/smiapp-core.c
index c1d6d1d..e4037c8 100644
--- a/drivers/media/i2c/smiapp/smiapp-core.c
+++ b/drivers/media/i2c/smiapp/smiapp-core.c
@@ -1128,7 +1128,7 @@ static int smiapp_power_on(struct smiapp_sensor *sensor)
}
usleep_range(1000, 1000);
 
-   if (sensor-platform_data-xshutdown != SMIAPP_NO_XSHUTDOWN)
+   if (gpio_is_valid(sensor-platform_data-xshutdown))
gpio_set_value(sensor-platform_data-xshutdown, 1);
 
sleep = SMIAPP_RESET_DELAY(sensor-platform_data-ext_clk);
@@ -1238,7 +1238,7 @@ static int smiapp_power_on(struct smiapp_sensor *sensor)
return 0;
 
 out_cci_addr_fail:
-   if (sensor-platform_data-xshutdown != SMIAPP_NO_XSHUTDOWN)
+   if (gpio_is_valid(sensor-platform_data-xshutdown))
gpio_set_value(sensor-platform_data-xshutdown, 0);
if (sensor-platform_data-set_xclk)
sensor-platform_data-set_xclk(sensor-src-sd, 0);
@@ -1264,7 +1264,7 @@ static void smiapp_power_off(struct smiapp_sensor *sensor)
 SMIAPP_REG_U8_SOFTWARE_RESET,
 SMIAPP_SOFTWARE_RESET);
 
-   if (sensor-platform_data-xshutdown != SMIAPP_NO_XSHUTDOWN)
+   if (gpio_is_valid(sensor-platform_data-xshutdown))
gpio_set_value(sensor-platform_data-xshutdown, 0);
if (sensor-platform_data-set_xclk)
sensor-platform_data-set_xclk(sensor-src-sd, 0);
@@ -2378,7 +2378,7 @@ static int smiapp_registered(struct v4l2_subdev *subdev)
}
}
 
-   if (sensor-platform_data-xshutdown != SMIAPP_NO_XSHUTDOWN) {
+   if (gpio_is_valid(sensor-platform_data-xshutdown)) {
if (devm_gpio_request_one(client-dev,
  sensor-platform_data-xshutdown, 0,
  SMIA++ xshutdown) != 0) {
@@ -2830,7 +2830,7 @@ static int smiapp_remove(struct i2c_client *client)
unsigned int i;
 
if (sensor-power_count) {
-   if (sensor-platform_data-xshutdown != SMIAPP_NO_XSHUTDOWN)
+   if (gpio_is_valid(sensor-platform_data-xshutdown))
gpio_set_value(sensor-platform_data-xshutdown, 0);
if (sensor-platform_data-set_xclk)
sensor-platform_data-set_xclk(sensor-src-sd, 0);
-- 
1.7.10.4

--
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 3/3] smiapp: Return correct return value in smiapp_registered()

2014-05-03 Thread Sakari Ailus
Prepare for supporting systems using the Device tree. Should the resources
not be available at the time of driver probe(), the EPROBE_DEFER error code
must be also returned from its probe function.

Signed-off-by: Sakari Ailus sakari.ai...@iki.fi
---
 drivers/media/i2c/smiapp/smiapp-core.c |   15 ---
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/drivers/media/i2c/smiapp/smiapp-core.c 
b/drivers/media/i2c/smiapp/smiapp-core.c
index e4037c8..3c7be76 100644
--- a/drivers/media/i2c/smiapp/smiapp-core.c
+++ b/drivers/media/i2c/smiapp/smiapp-core.c
@@ -2358,14 +2358,14 @@ static int smiapp_registered(struct v4l2_subdev *subdev)
sensor-vana = devm_regulator_get(client-dev, vana);
if (IS_ERR(sensor-vana)) {
dev_err(client-dev, could not get regulator for vana\n);
-   return -ENODEV;
+   return PTR_ERR(sensor-vana);
}
 
if (!sensor-platform_data-set_xclk) {
sensor-ext_clk = devm_clk_get(client-dev, ext_clk);
if (IS_ERR(sensor-ext_clk)) {
dev_err(client-dev, could not get clock\n);
-   return -ENODEV;
+   return PTR_ERR(sensor-ext_clk);
}
 
rval = clk_set_rate(sensor-ext_clk,
@@ -2374,18 +2374,19 @@ static int smiapp_registered(struct v4l2_subdev *subdev)
dev_err(client-dev,
unable to set clock freq to %u\n,
sensor-platform_data-ext_clk);
-   return -ENODEV;
+   return rval;
}
}
 
if (gpio_is_valid(sensor-platform_data-xshutdown)) {
-   if (devm_gpio_request_one(client-dev,
- sensor-platform_data-xshutdown, 0,
- SMIA++ xshutdown) != 0) {
+   rval = devm_gpio_request_one(
+   client-dev, sensor-platform_data-xshutdown, 0,
+   SMIA++ xshutdown);
+   if (rval  0) {
dev_err(client-dev,
unable to acquire reset gpio %d\n,
sensor-platform_data-xshutdown);
-   return -ENODEV;
+   return rval;
}
}
 
-- 
1.7.10.4

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


smiapp: Minor improvements, early preparation for DT support

2014-05-03 Thread Sakari Ailus
Hi,

These patches prepare the smiapp driver for DT support later on. The
regulator name will be lower case. Wrong error values were returned in probe
--- instead pass them through, as -EPROBE_DEFER may have a quantifiable
practical effect compared to other error codes.

-- 
Kind regards,
Sakari

--
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 0/2] Add support for sii9234 chip

2014-05-03 Thread Greg KH
On Fri, Apr 11, 2014 at 01:48:28PM +0200, Tomasz Stanislawski wrote:
 Hi everyone,
 This patchset adds support for sii9234 HD Mobile Link Bridge.  The chip is 
 used
 to convert HDMI signal into MHL.  The driver enables HDMI output on Trats and
 Trats2 boards.
 
 The code is based on the driver [1] developed by:
Adam Hampson ahamp...@sta.samsung.com
Erik Gilling konk...@android.com
 with additional contributions from:
Shankar Bandal shanka...@samsung.com
Dharam Kumar dharam...@samsung.com
 
 The drivers architecture was greatly simplified and transformed into a form
 accepted (hopefully) by opensource community.  The main differences from
 original code are:
 * using single I2C client instead of 4 subclients
 * remove all logic non-related to establishing HDMI link
 * simplify error handling
 * rewrite state machine in interrupt handler
 * wakeup and discovery triggered by an extcon event
 * integrate with Device Tree
 
 For now, the driver is added to drivers/misc/ directory because it has neigher
 userspace nor kernel interface.  The chip is capable of receiving and
 processing CEC events, so the driver may export an input device in /dev/ in 
 the
 future.  However CEC could be also handled by HDMI driver.
 
 I kindly ask for suggestions about the best location for this driver.

It really is an extcon driver, so why not put it in drivers/extcon?  And
that might solve any build issues you have if you don't select extcon in
your .config file and try to build this code :)

thanks,

greg k-h
--
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/6] [dvb-apps] dvbscan: fix infinite loop parsing arguments

2014-05-03 Thread Jonathan McCrohan
Reproducible using 'dvbscan -out raw - some_file'

Bug-Debian: http://bugs.debian.org/606728

Signed-off-by: Jonathan McCrohan jmccro...@gmail.com
---
 util/dvbscan/dvbscan.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/util/dvbscan/dvbscan.c b/util/dvbscan/dvbscan.c
index f23411f..462c275 100644
--- a/util/dvbscan/dvbscan.c
+++ b/util/dvbscan/dvbscan.c
@@ -198,6 +198,7 @@ int main(int argc, char *argv[])
} else if (!strcmp(argv[argpos], -out)) {
if ((argc - argpos)  3)
usage();
+   argpos+=3;
} else {
if ((argc - argpos) != 1)
usage();
-- 
1.9.2

--
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 0/6] [dvb-apps] Various dvb-apps fixes and enhancements

2014-05-03 Thread Jonathan McCrohan
Hi,

The following patch set contains various fixes and enhancements found
during the packaging of the next version of Debian's dvb-apps package.

A number of these patches have lived as Debian specific patches for a
long time, however, there is no reason not to upstream them for
everyone's benefit.

Jon

Jonathan McCrohan (6):
  dvb-apps: fix typos throughout the dvb-apps tree
  dvbscan: fix infinite loop parsing arguments
  dvb-apps: make zap flush stdout after status line
  dvb-apps: pass LDFLAGS to alevt and lib binaries
  alevt: fix FTBFS with libpng15
  dvb-apps: add man pages

 Make.rules|  5 ++-
 Makefile  |  1 +
 lib/libdvben50221/en50221_transport.c |  4 +-
 lib/libdvbsec/dvbsec_cfg.h|  2 +-
 man/Makefile  | 13 ++
 man/atsc_epg.1| 35 +++
 man/av7110_loadkeys.1 | 26 +++
 man/azap.1| 35 +++
 man/czap.1| 46 +++
 man/dib3000-watch.1   | 34 ++
 man/dst_test.1| 41 +
 man/dvbdate.1 | 38 
 man/dvbnet.1  | 38 
 man/dvbscan.1 | 72 +
 man/dvbtraffic.1  | 26 +++
 man/femon.1   | 32 +
 man/gnutv.1   | 79 
 man/gotox.1   | 33 ++
 man/lsdvb.1   |  9 
 man/scan.1| 85 +++
 man/szap.1| 57 +++
 man/tzap.1| 56 +++
 man/zap.1 | 44 ++
 util/alevt/Makefile   |  6 +--
 util/alevt/exp-gfx.c  |  3 +-
 util/dib3000-watch/dib3000-watch.c|  2 +-
 util/dvbscan/dvbscan.c|  3 +-
 util/scan/scan.c  |  2 +-
 util/szap/czap.c  |  3 +-
 util/szap/szap.c  |  1 +
 30 files changed, 818 insertions(+), 13 deletions(-)
 create mode 100644 man/Makefile
 create mode 100644 man/atsc_epg.1
 create mode 100644 man/av7110_loadkeys.1
 create mode 100644 man/azap.1
 create mode 100644 man/czap.1
 create mode 100644 man/dib3000-watch.1
 create mode 100644 man/dst_test.1
 create mode 100644 man/dvbdate.1
 create mode 100644 man/dvbnet.1
 create mode 100644 man/dvbscan.1
 create mode 100644 man/dvbtraffic.1
 create mode 100644 man/femon.1
 create mode 100644 man/gnutv.1
 create mode 100644 man/gotox.1
 create mode 100644 man/lsdvb.1
 create mode 100644 man/scan.1
 create mode 100644 man/szap.1
 create mode 100644 man/tzap.1
 create mode 100644 man/zap.1

-- 
1.9.2

--
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/6] [dvb-apps] dvb-apps: fix typos throughout the dvb-apps tree

2014-05-03 Thread Jonathan McCrohan
As found by Debian's Lintian tool.

Signed-off-by: Jonathan McCrohan jmccro...@gmail.com
---
 lib/libdvben50221/en50221_transport.c | 4 ++--
 lib/libdvbsec/dvbsec_cfg.h| 2 +-
 util/alevt/exp-gfx.c  | 2 +-
 util/dib3000-watch/dib3000-watch.c| 2 +-
 util/dvbscan/dvbscan.c| 2 +-
 util/scan/scan.c  | 2 +-
 6 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/lib/libdvben50221/en50221_transport.c 
b/lib/libdvben50221/en50221_transport.c
index f6f46db..e5babeb 100644
--- a/lib/libdvben50221/en50221_transport.c
+++ b/lib/libdvben50221/en50221_transport.c
@@ -929,7 +929,7 @@ static int en50221_tl_process_data(struct 
en50221_transport_layer *tl,
break;
default:
print(LOG_LEVEL, ERROR, 1,
- Recieved unexpected TPDU tag %02x from module on 
slot %02x\n,
+ Received unexpected TPDU tag %02x from module on 
slot %02x\n,
  tpdu_tag, slot_id);
tl-error_slot = slot_id;
tl-error = EN50221ERR_BADCAMDATA;
@@ -1226,7 +1226,7 @@ static int en50221_tl_handle_sb(struct 
en50221_transport_layer *tl,
// did we get enough data in the T_SB?
if (data_length != 1) {
print(LOG_LEVEL, ERROR, 1,
- Recieved T_SB with invalid length from module on slot 
%02x\n,
+ Received T_SB with invalid length from module on slot 
%02x\n,
  slot_id);
tl-error_slot = slot_id;
tl-error = EN50221ERR_BADCAMDATA;
diff --git a/lib/libdvbsec/dvbsec_cfg.h b/lib/libdvbsec/dvbsec_cfg.h
index d4546de..81439bb 100644
--- a/lib/libdvbsec/dvbsec_cfg.h
+++ b/lib/libdvbsec/dvbsec_cfg.h
@@ -81,7 +81,7 @@
  *
  * The cmd-lo|hi-v|h|l|r describes the SEC cmd string to use in advanced 
mode for each of the possible combinations of
  * frequency band and polarisation. If a certain combination is not required, 
it may be omitted. It consists of a
- * space seperated combination of commands - those available are as follows:
+ * space separated combination of commands - those available are as follows:
  *
  * tone(0|1)  - control the 22kHz tone 0:off, 1:on
  * voltage(0|13|18) - control the LNB voltage 0v, 13v, or 18v
diff --git a/util/alevt/exp-gfx.c b/util/alevt/exp-gfx.c
index 82ab218..e68167b 100644
--- a/util/alevt/exp-gfx.c
+++ b/util/alevt/exp-gfx.c
@@ -123,7 +123,7 @@ static int ppm_output(struct export *e, char *name, struct 
fmt_page *pg)
 {
   if (!fwrite(rgb1[(int) *(colour_matrix+n)], 3, 1, fp))
{
- export_error(error while writting to file);
+ export_error(error while writing to file);
  free(colour_matrix);
  fclose(fp);
  return -1;
diff --git a/util/dib3000-watch/dib3000-watch.c 
b/util/dib3000-watch/dib3000-watch.c
index 16bccb7..300e000 100644
--- a/util/dib3000-watch/dib3000-watch.c
+++ b/util/dib3000-watch/dib3000-watch.c
@@ -285,7 +285,7 @@ int main (int argc, char * const argv[])
break;
default:
interrupted=1;
-   err(no monitoring writting for this demod, 
yet.\n);
+   err(no monitoring writing for this demod, 
yet.\n);
}
usleep((int) (intervall * 100));
}
diff --git a/util/dvbscan/dvbscan.c b/util/dvbscan/dvbscan.c
index 87751c4..f23411f 100644
--- a/util/dvbscan/dvbscan.c
+++ b/util/dvbscan/dvbscan.c
@@ -77,7 +77,7 @@ static void usage(void)
 -inversion on|off|auto Specify inversion (default: auto) 
(note: this option is ignored).\n
 -uk-ordering  Use UK DVB-T channel ordering if 
present (note: this option is ignored).\n
 -timeout secs   Specify filter timeout to use (standard 
specced values will be used by default)\n
--filter filter  Specify service filter, a comma 
seperated list of the following tokens:\n
+-filter filter  Specify service filter, a comma 
separated list of the following tokens:\n
(If no filter is supplied, all 
services will be output)\n
* tv - Output TV channels\n
* radio - Output radio channels\n
diff --git a/util/scan/scan.c b/util/scan/scan.c
index 71a20db..803efdf 100644
--- a/util/scan/scan.c
+++ b/util/scan/scan.c
@@ -1560,7 +1560,7 @@ static int parse_section (struct section_buf *s)
buf += 8;   /* past generic table header */
section_length -= 5 + 4;/* header + crc */
if (section_length  0) {
-   warning(truncated section (PID 0x%04x, lenght %d),
+   warning(truncated section (PID 0x%04x, length 

[PATCH 3/6] [dvb-apps] dvb-apps: make zap flush stdout after status line

2014-05-03 Thread Jonathan McCrohan
Bug-Debian: http://bugs.debian.org/357126

Signed-off-by: Jonathan McCrohan jmccro...@gmail.com
---
 util/szap/czap.c | 3 ++-
 util/szap/szap.c | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/util/szap/czap.c b/util/szap/czap.c
index f49c524..062545f 100644
--- a/util/szap/czap.c
+++ b/util/szap/czap.c
@@ -227,9 +227,10 @@ int monitor_frontend (int fe_fd, int human_readable)
if (status  FE_HAS_LOCK)
printf(FE_HAS_LOCK);
 
-   usleep(100);
 
printf(\n);
+   fflush(stdout);
+   usleep(100);
 
if (exit_after_tuning  (status  FE_HAS_LOCK))
break;
diff --git a/util/szap/szap.c b/util/szap/szap.c
index 90bdbfb..12f393c 100644
--- a/util/szap/szap.c
+++ b/util/szap/szap.c
@@ -204,6 +204,7 @@ static int monitor_frontend (int fe_fd, int dvr, int 
human_readable)
if (exit_after_tuning  ((status  FE_HAS_LOCK) || (++timeout 
= 10)))
break;
 
+   fflush(stdout);
usleep(100);
} while (1);
 
-- 
1.9.2

--
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 5/6] [dvb-apps] alevt: fix FTBFS with libpng15

2014-05-03 Thread Jonathan McCrohan
libpng15 no longer includes zlib.h; we must include it ourselves

Bug-Debian: http://bugs.debian.org/742566

Signed-off-by: Jonathan McCrohan jmccro...@gmail.com
---
 util/alevt/exp-gfx.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/util/alevt/exp-gfx.c b/util/alevt/exp-gfx.c
index e68167b..0f7ad0c 100644
--- a/util/alevt/exp-gfx.c
+++ b/util/alevt/exp-gfx.c
@@ -138,6 +138,7 @@ static int ppm_output(struct export *e, char *name, struct 
fmt_page *pg)
 #ifdef WITH_PNG
 
 #include png.h
+#include zlib.h
 static int png_open(struct export *e);
 static int png_option(struct export *e, int opt, char *arg);
 static int png_output(struct export *e, char *name, struct fmt_page *pg);
-- 
1.9.2

--
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 6/6] [dvb-apps] dvb-apps: add man pages

2014-05-03 Thread Jonathan McCrohan
Add man pages written by Uwe Bugla and Tobias Grimm.

Add Makefile written by myself.

Bug-Debian: http://bugs.debian.org/312570

Signed-off-by: Jonathan McCrohan jmccro...@gmail.com
---
 Make.rules|  1 +
 Makefile  |  1 +
 man/Makefile  | 13 
 man/atsc_epg.1| 35 +
 man/av7110_loadkeys.1 | 26 
 man/azap.1| 35 +
 man/czap.1| 46 
 man/dib3000-watch.1   | 34 +
 man/dst_test.1| 41 +
 man/dvbdate.1 | 38 +++
 man/dvbnet.1  | 38 +++
 man/dvbscan.1 | 72 +++
 man/dvbtraffic.1  | 26 
 man/femon.1   | 32 +++
 man/gnutv.1   | 79 +++
 man/gotox.1   | 33 
 man/lsdvb.1   |  9 ++
 man/scan.1| 85 +++
 man/szap.1| 57 ++
 man/tzap.1| 56 +
 man/zap.1 | 44 ++
 21 files changed, 801 insertions(+)
 create mode 100644 man/Makefile
 create mode 100644 man/atsc_epg.1
 create mode 100644 man/av7110_loadkeys.1
 create mode 100644 man/azap.1
 create mode 100644 man/czap.1
 create mode 100644 man/dib3000-watch.1
 create mode 100644 man/dst_test.1
 create mode 100644 man/dvbdate.1
 create mode 100644 man/dvbnet.1
 create mode 100644 man/dvbscan.1
 create mode 100644 man/dvbtraffic.1
 create mode 100644 man/femon.1
 create mode 100644 man/gnutv.1
 create mode 100644 man/gotox.1
 create mode 100644 man/lsdvb.1
 create mode 100644 man/scan.1
 create mode 100644 man/szap.1
 create mode 100644 man/tzap.1
 create mode 100644 man/zap.1

diff --git a/Make.rules b/Make.rules
index 0726060..0b017af 100644
--- a/Make.rules
+++ b/Make.rules
@@ -33,6 +33,7 @@ bindir ?= $(prefix)/bin
 includedir ?= $(prefix)/include
 libdir ?= $(prefix)/lib
 sharedir   ?= $(prefix)/share
+mandir ?= $(prefix)/share/man/man1
 
 ifneq ($(DESTDIR),)
 DESTDIR := $(DESTDIR)/
diff --git a/Makefile b/Makefile
index 65a2273..21901ea 100644
--- a/Makefile
+++ b/Makefile
@@ -12,6 +12,7 @@ all clean install:
$(MAKE) -C lib $@
$(MAKE) -C test $@
$(MAKE) -C util $@
+   $(MAKE) -C man $@
 
 update:
@echo Pulling changes  updating from master repository
diff --git a/man/Makefile b/man/Makefile
new file mode 100644
index 000..e4c1e0d
--- /dev/null
+++ b/man/Makefile
@@ -0,0 +1,13 @@
+manpages = *.1
+inst_man = $(manpages)
+
+.PHONY: install
+
+include ../Make.rules
+
+all:
+
+install::
+   @echo installing manpages
+   @mkdir -p $(DESTDIR)$(mandir)
+   @install -m 644 $(inst_man) $(DESTDIR)$(mandir)/
diff --git a/man/atsc_epg.1 b/man/atsc_epg.1
new file mode 100644
index 000..1190d8c
--- /dev/null
+++ b/man/atsc_epg.1
@@ -0,0 +1,35 @@
+.TH atsc_epg 1 February 14, 2010
+.SH NAME
+atsc_epg \- an electronic program guide using ATSC devices.
+.SH SYNOPSIS
+.B atsc_epg
+.RI [ options ]
+.br
+.SH DESCRIPTION
+This manual page documents briefly the
+.B atsc_epg
+commands.
+.PP
+\fBatsc_epg\fP is an electronic program guide for ATSC devices.
+.SH OPTIONS
+.TP
+.B \-a
+adapter index to use, (default 0)
+.TP
+.B \-f
+tuning frequency
+.TP
+.B \-h
+print this help text
+.TP
+.B \-p
+period in hours, (default 12)
+.TP
+.B \-m
+modulation ATSC vsb_8|vsb_16 (default vsb_8)
+.TP
+.B \-t
+enable ETT to receive program details, if available
+.br
+.PP
+This manual page was written by Uwe Bugla uwe.bu...@gmx.de.
diff --git a/man/av7110_loadkeys.1 b/man/av7110_loadkeys.1
new file mode 100644
index 000..94dbfda
--- /dev/null
+++ b/man/av7110_loadkeys.1
@@ -0,0 +1,26 @@
+.TH av7110_loadkeys 1 February 14, 2010
+.SH NAME
+av7110_loadkeys \- a program to load keymaps.
+.SH SYNOPSIS
+.B av7110_loadkeys
+.RI [ options ] keymap_filename.(rc5|rcmm
+.br
+.SH DESCRIPTION
+This manual page documents briefly the
+.B av7110_loadkeys
+commands.
+.PP
+\fBav7110_loadkeys\fP is a program to load keymaps.
+.SH OPTIONS
+.TP
+.B \-i
+invert
+.TP
+.B \-a
+address num
+.TP
+.B \-h
+print this help text
+.br
+.PP
+This manual page was written by Uwe Bugla uwe.bu...@gmx.de.
diff --git a/man/azap.1 b/man/azap.1
new file mode 100644
index 000..ee85a12
--- /dev/null
+++ b/man/azap.1
@@ -0,0 +1,35 @@
+.TH azap 1 February 14, 2010
+.SH NAME
+azap \- a program to process channels.conf files.
+.SH SYNOPSIS
+.B azap
+.RI [ options ] channel name
+.br
+.SH DESCRIPTION
+This manual page documents briefly the
+.B azap
+commands.
+.PP
+\fBazap\fP is a program to process a channels.conf file.
+.SH OPTIONS
+.TP
+.B \-a adapter_num
+use given adapter (default 0)
+.TP
+.B \-f frontend_id
+use given frontend (default 0)
+.TP
+.B \-d demux_id
+use