Re: media: platform: s5p-jpeg: jpeg-hw-exynos4: Remove some unused functions
+Tony Nadackal Hi Rickard, On Saturday 03 January 2015 02:07 AM, Rickard Strandqvist wrote: Removes some functions that are not used anywhere: exynos4_jpeg_set_timer_count() exynos4_jpeg_get_frame_size() exynos4_jpeg_set_sys_int_enable() exynos4_jpeg_get_fifo_status() This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist rickard_strandqv...@spectrumdigital.se --- drivers/media/platform/s5p-jpeg/jpeg-hw-exynos4.c | 35 - drivers/media/platform/s5p-jpeg/jpeg-hw-exynos4.h |5 --- 2 files changed, 40 deletions(-) diff --git a/drivers/media/platform/s5p-jpeg/jpeg-hw-exynos4.c b/drivers/media/platform/s5p-jpeg/jpeg-hw-exynos4.c index ab6d6f4..5685577 100644 --- a/drivers/media/platform/s5p-jpeg/jpeg-hw-exynos4.c +++ b/drivers/media/platform/s5p-jpeg/jpeg-hw-exynos4.c @@ -163,15 +163,6 @@ unsigned int exynos4_jpeg_get_int_status(void __iomem *base) return int_status; } -unsigned int exynos4_jpeg_get_fifo_status(void __iomem *base) -{ - unsigned int fifo_status; - - fifo_status = readl(base + EXYNOS4_FIFO_STATUS_REG); - - return fifo_status; -} - void exynos4_jpeg_set_huf_table_enable(void __iomem *base, int value) { unsigned intreg; @@ -186,18 +177,6 @@ void exynos4_jpeg_set_huf_table_enable(void __iomem *base, int value) base + EXYNOS4_JPEG_CNTL_REG); } -void exynos4_jpeg_set_sys_int_enable(void __iomem *base, int value) -{ - unsigned intreg; - - reg = readl(base + EXYNOS4_JPEG_CNTL_REG) ~(EXYNOS4_SYS_INT_EN); - - if (value == 1) - writel(reg | EXYNOS4_SYS_INT_EN, base + EXYNOS4_JPEG_CNTL_REG); - else - writel(reg ~EXYNOS4_SYS_INT_EN, base + EXYNOS4_JPEG_CNTL_REG); -} - Above function will be needed for enabling JPEG support on Exynos7 SoC. There is already inflight patch [1] which will be using it. 1: https://patchwork.kernel.org/patch/5505391/ Thanks, Pankaj Dubey -- 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 v2 2/2] V4L2: add CCF support to the v4l2_clk API
Hi Guennadi, Thank you for the patch. On Friday 02 January 2015 21:18:41 Guennadi Liakhovetski wrote: From aeaee56e04d023f3a019d2595ef5128015acdb06 Mon Sep 17 00:00:00 2001 From: Guennadi Liakhovetski g.liakhovet...@gmx.de Date: Fri, 2 Jan 2015 12:26:41 +0100 Subject: [PATCH 2/2] V4L2: add CCF support to the v4l2_clk API V4L2 clocks, e.g. used by camera sensors for their master clock, do not have to be supplied by a different V4L2 driver, they can also be supplied by an independent source. In this case the standart kernel clock API should be used to handle such clocks. This patch adds support for such cases. Signed-off-by: Guennadi Liakhovetski g.liakhovet...@gmx.de --- Hi Laurent, Thanks for the comment. The idea of allocating a new object for each get operation seems a bit weird to me, and completely trusting the user is a bit scary... :) But yes, it can work this way too, I think, and the user can screw either way too, anyway. The user needs to get it right for when we'll replace v4l2_clk_get() with clk_get(), so I'd rather force it to get it right now. So, here comes a v2. Something like this? v2: don't add CCF-related clocks on the global list, just allocate a new instance on each v4l2_clk_get() drivers/media/v4l2-core/v4l2-clk.c | 45 +++--- include/media/v4l2-clk.h | 2 ++ 2 files changed, 44 insertions(+), 3 deletions(-) diff --git a/drivers/media/v4l2-core/v4l2-clk.c b/drivers/media/v4l2-core/v4l2-clk.c index c210906..f5d1688 100644 --- a/drivers/media/v4l2-core/v4l2-clk.c +++ b/drivers/media/v4l2-core/v4l2-clk.c @@ -9,6 +9,7 @@ */ #include linux/atomic.h +#include linux/clk.h #include linux/device.h #include linux/errno.h #include linux/list.h @@ -42,6 +43,18 @@ static struct v4l2_clk *v4l2_clk_find(const char *dev_id, const char *id) struct v4l2_clk *v4l2_clk_get(struct device *dev, const char *id) { struct v4l2_clk *clk; + struct clk *ccf_clk = clk_get(dev, id); + + if (!IS_ERR(ccf_clk)) { + clk = kzalloc(sizeof(struct v4l2_clk), GFP_KERNEL); + if (!clk) { + clk_put(ccf_clk); + return ERR_PTR(-ENOMEM); + } + clk-clk = ccf_clk; + + return clk; + } If clk_get() returns -EPROBE_DEFER I think you should return the error code to the user instead of falling back to the v4l2 clocks. mutex_lock(clk_lock); clk = v4l2_clk_find(dev_name(dev), id); @@ -61,6 +74,12 @@ void v4l2_clk_put(struct v4l2_clk *clk) if (IS_ERR(clk)) return; + if (clk-clk) { + clk_put(clk-clk); + kfree(clk); + return; + } + mutex_lock(clk_lock); list_for_each_entry(tmp, clk_list, list) @@ -98,8 +117,12 @@ static void v4l2_clk_unlock_driver(struct v4l2_clk *clk) int v4l2_clk_enable(struct v4l2_clk *clk) { - int ret = v4l2_clk_lock_driver(clk); + int ret; + if (clk-clk) + return clk_enable(clk-clk); Shouldn't you use clk_prepare_enable() ? CCF requires a prepare call before enabling the clock. + + ret = v4l2_clk_lock_driver(clk); if (ret 0) return ret; @@ -125,6 +148,9 @@ void v4l2_clk_disable(struct v4l2_clk *clk) { int enable; + if (clk-clk) + return clk_disable(clk-clk); Likewise, clk_disable_unprepare() ? + mutex_lock(clk-lock); enable = --clk-enable; @@ -142,8 +168,12 @@ EXPORT_SYMBOL(v4l2_clk_disable); unsigned long v4l2_clk_get_rate(struct v4l2_clk *clk) { - int ret = v4l2_clk_lock_driver(clk); + int ret; + + if (clk-clk) + return clk_get_rate(clk-clk); + ret = v4l2_clk_lock_driver(clk); if (ret 0) return ret; @@ -162,7 +192,16 @@ EXPORT_SYMBOL(v4l2_clk_get_rate); int v4l2_clk_set_rate(struct v4l2_clk *clk, unsigned long rate) { - int ret = v4l2_clk_lock_driver(clk); + int ret; + + if (clk-clk) { + long r = clk_round_rate(clk-clk, rate); + if (r 0) + return r; + return clk_set_rate(clk-clk, r); + } + + ret = v4l2_clk_lock_driver(clk); if (ret 0) return ret; diff --git a/include/media/v4l2-clk.h b/include/media/v4l2-clk.h index 8f06967..4402b2d 100644 --- a/include/media/v4l2-clk.h +++ b/include/media/v4l2-clk.h @@ -22,6 +22,7 @@ struct module; struct device; +struct clk; struct v4l2_clk { struct list_head list; const struct v4l2_clk_ops *ops; @@ -30,6 +31,7 @@ struct v4l2_clk { int enable; struct mutex lock; /* Protect the enable count */ atomic_t use_count; + struct clk *clk; void *priv; }; -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to
TeVii S482 driver installation
Hello, I am trying to install the drivers for the TeVii S482 device, I am using official drivers: cd /usr/src/ wget http://www.tevii.com/Tevii_Product_20140428_media_build_b6.tar.bz2.rar bzip2 -dc Tevii_Product_20140428_media_build_b6.tar.bz2.rar | tar -xv cd b6/media_build/ When execute make, I get this: # make make -C /usr/src/b6/media_build/v4l make[1]: Entering directory '/usr/src/b6/media_build/v4l' ... [complete output: http://paste.debian.net/139122/ ] /usr/src/linux-headers-3.16.0-4-common/scripts/Makefile.build:262: recipe for target '/usr/src/b6/media_build/v4l/altera-lpt.o' failed make[5]: *** [/usr/src/b6/media_build/v4l/altera-lpt.o] Error 1 /usr/src/linux-headers-3.16.0-4-common/Makefile:1350: recipe for target '_module_/usr/src/b6/media_build/v4l' failed make[4]: *** [_module_/usr/src/b6/media_build/v4l] Error 2 Makefile:181: recipe for target 'sub-make' failed make[3]: *** [sub-make] Error 2 Makefile:8: recipe for target 'all' failed make[2]: *** [all] Error 2 make[2]: Leaving directory '/usr/src/linux-headers-3.16.0-4-amd64' Makefile:51: recipe for target 'default' failed make[1]: *** [default] Error 2 make[1]: Leaving directory '/usr/src/b6/media_build/v4l' Makefile:26: recipe for target 'all' failed make: *** [all] Error 2 I am in Debian Jessie with 3.16.0-4-amd64 kernel. I need to install or configure some software? Anyone with this device? Thanks and regards. -- Josu Lazkano -- 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/3] When building for avr32, the build fails as follows.
From: Simon Dawson spdaw...@gmail.com cc1: error: unrecognized command line option -Wno-packed-bitfield-compat An example of an autobuild failure arising from this is the following. http://autobuild.buildroot.net/results/92e/92e472004812a3616f62d766a9ea07a997a66e89/ Clearly, not all toolchains provide a gcc that understands the -Wno-packed-bitfield-compat flag; remove usage of this flag. Signed-off-by: Simon Dawson spdaw...@gmail.com --- util/scan/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/scan/Makefile b/util/scan/Makefile index d48c478..88667c5 100644 --- a/util/scan/Makefile +++ b/util/scan/Makefile @@ -14,7 +14,7 @@ inst_bin = $(binaries) removing = atsc_psip_section.c atsc_psip_section.h -CPPFLAGS += -Wno-packed-bitfield-compat -D__KERNEL_STRICT_NAMES +CPPFLAGS += -D__KERNEL_STRICT_NAMES .PHONY: all -- 1.9.3 -- 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/3] dvb-apps: Buildroot patches
This series contains several patches for dvb-apps to fixes some cross-compilation/toolchain issues and add the ability to disable static/shared libraries. Arnout Vandecappelle (Essensium/Mind) (1): Fix generate-keynames.sh script for cross-compilation Romain Naour (1): Make.rules: Handle static/shared only build Simon Dawson (1): When building for avr32, the build fails as follows. Make.rules| 8 +++- util/av7110_loadkeys/generate-keynames.sh | 4 ++-- util/scan/Makefile| 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) -- 1.9.3 -- 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] Make.rules: Handle static/shared only build
Do not build .a library when disable_static is set Do not build .so library when disable_shared is set Signed-off-by: Romain Naour romain.na...@openwide.fr --- Make.rules | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Make.rules b/Make.rules index 3410d7b..4add272 100644 --- a/Make.rules +++ b/Make.rules @@ -9,7 +9,13 @@ ifneq ($(lib_name),) CFLAGS_LIB ?= -fPIC CFLAGS += $(CFLAGS_LIB) -libraries = $(lib_name).so $(lib_name).a +ifeq ($(disable_static),) +libraries = $(lib_name).a +endif + +ifeq ($(disable_shared),) +libraries += $(lib_name).so +endif .PHONY: library -- 1.9.3 -- 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/3] Fix generate-keynames.sh script for cross-compilation
From: Arnout Vandecappelle (Essensium/Mind) arn...@mind.be generate-keynames.sh reads /usr/include/linux to find the keyname symbols. However, when cross-compiling, the include path points somewhere else. Allow the user to pass CROSS_ROOT to point to the root of the cross-compilation environment. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) arn...@mind.be --- util/av7110_loadkeys/generate-keynames.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/util/av7110_loadkeys/generate-keynames.sh b/util/av7110_loadkeys/generate-keynames.sh index 49d2b71..cb8f5c5 100644 --- a/util/av7110_loadkeys/generate-keynames.sh +++ b/util/av7110_loadkeys/generate-keynames.sh @@ -18,7 +18,7 @@ echo }; $1 echo $1 echo $1 echo static struct input_key_name key_name [] = { $1 -for x in $(cat /usr/include/linux/input.h input_fake.h | \ +for x in $(cat ${CROSS_ROOT}/usr/include/linux/input.h input_fake.h | \ egrep #define[ \t]+KEY_ | grep -v KEY_MAX | \ cut -f 1 | cut -f 2 -d | sort -u) ; do echo { \$(echo $x | cut -b 5-)\, $x }, $1 @@ -26,7 +26,7 @@ done echo }; $1 echo $1 echo static struct input_key_name btn_name [] = { $1 -for x in $(cat /usr/include/linux/input.h input_fake.h | \ +for x in $(cat ${CROSS_ROOT}/usr/include/linux/input.h input_fake.h | \ egrep #define[ \t]+BTN_ | \ cut -f 1 | cut -f 2 -d | sort -u) ; do echo { \$(echo $x | cut -b 5-)\, $x }, $1 -- 1.9.3 -- 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] media: s5p-jpeg: Remove some unused functions
Removes some functions that are not used anywhere: s5p_jpeg_input_raw_y16() s5p_jpeg_timer_disable() s5p_jpeg_timer_enable() This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist rickard_strandqv...@spectrumdigital.se --- drivers/media/platform/s5p-jpeg/jpeg-hw-s5p.c | 32 - drivers/media/platform/s5p-jpeg/jpeg-hw-s5p.h |3 --- 2 files changed, 35 deletions(-) diff --git a/drivers/media/platform/s5p-jpeg/jpeg-hw-s5p.c b/drivers/media/platform/s5p-jpeg/jpeg-hw-s5p.c index e3b8e67..b5f20e7 100644 --- a/drivers/media/platform/s5p-jpeg/jpeg-hw-s5p.c +++ b/drivers/media/platform/s5p-jpeg/jpeg-hw-s5p.c @@ -51,18 +51,6 @@ void s5p_jpeg_input_raw_mode(void __iomem *regs, unsigned long mode) writel(reg, regs + S5P_JPGCMOD); } -void s5p_jpeg_input_raw_y16(void __iomem *regs, bool y16) -{ - unsigned long reg; - - reg = readl(regs + S5P_JPGCMOD); - if (y16) - reg |= S5P_MODE_Y16; - else - reg = ~S5P_MODE_Y16_MASK; - writel(reg, regs + S5P_JPGCMOD); -} - void s5p_jpeg_proc_mode(void __iomem *regs, unsigned long mode) { unsigned long reg, m; @@ -208,26 +196,6 @@ void s5p_jpeg_final_mcu_num_int_enable(void __iomem *regs, bool enbl) writel(reg, regs + S5P_JPGINTSE); } -void s5p_jpeg_timer_enable(void __iomem *regs, unsigned long val) -{ - unsigned long reg; - - reg = readl(regs + S5P_JPG_TIMER_SE); - reg |= S5P_TIMER_INT_EN; - reg = ~S5P_TIMER_INIT_MASK; - reg |= val S5P_TIMER_INIT_MASK; - writel(reg, regs + S5P_JPG_TIMER_SE); -} - -void s5p_jpeg_timer_disable(void __iomem *regs) -{ - unsigned long reg; - - reg = readl(regs + S5P_JPG_TIMER_SE); - reg = ~S5P_TIMER_INT_EN_MASK; - writel(reg, regs + S5P_JPG_TIMER_SE); -} - int s5p_jpeg_timer_stat(void __iomem *regs) { return (int)((readl(regs + S5P_JPG_TIMER_ST) S5P_TIMER_INT_STAT_MASK) diff --git a/drivers/media/platform/s5p-jpeg/jpeg-hw-s5p.h b/drivers/media/platform/s5p-jpeg/jpeg-hw-s5p.h index c11ebe8..f208fa3 100644 --- a/drivers/media/platform/s5p-jpeg/jpeg-hw-s5p.h +++ b/drivers/media/platform/s5p-jpeg/jpeg-hw-s5p.h @@ -29,7 +29,6 @@ void s5p_jpeg_reset(void __iomem *regs); void s5p_jpeg_poweron(void __iomem *regs); void s5p_jpeg_input_raw_mode(void __iomem *regs, unsigned long mode); -void s5p_jpeg_input_raw_y16(void __iomem *regs, bool y16); void s5p_jpeg_proc_mode(void __iomem *regs, unsigned long mode); void s5p_jpeg_subsampling_mode(void __iomem *regs, unsigned int mode); unsigned int s5p_jpeg_get_subsampling_mode(void __iomem *regs); @@ -42,8 +41,6 @@ void s5p_jpeg_x(void __iomem *regs, unsigned int x); void s5p_jpeg_rst_int_enable(void __iomem *regs, bool enable); void s5p_jpeg_data_num_int_enable(void __iomem *regs, bool enable); void s5p_jpeg_final_mcu_num_int_enable(void __iomem *regs, bool enbl); -void s5p_jpeg_timer_enable(void __iomem *regs, unsigned long val); -void s5p_jpeg_timer_disable(void __iomem *regs); int s5p_jpeg_timer_stat(void __iomem *regs); void s5p_jpeg_clear_timer_stat(void __iomem *regs); void s5p_jpeg_enc_stream_int(void __iomem *regs, unsigned long size); -- 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
Re: [PATCH 1/1] gspca: Add high-speed modes for PS3 Eye camera
On Mon, 29 Dec 2014 11:00:03 -0400 Joe Howse josephho...@nummist.com wrote: Add support in the PS3 Eye driver for QVGA capture at higher frame rates: 187, 150, and 137 FPS. This functionality is valuable because the PS3 Eye is popular for computer vision projects and no other camera in its price range supports such high frame rates. Correct a QVGA mode that was listed as 40 FPS. It is really 37 FPS (half of 75 FPS). Tests confirm that the nominal frame rates are achieved. Signed-off-by: Joe Howse josephho...@nummist.com Tested-by: Antonio Ospite a...@ao2.it Thanks Joe. I noticed that qv4l2 displays max 60fps even though from the video I can perceive the higher framerate, and same happens in guvcview. gst-inspect-1.0 won't even let me set framerates higher than 75 so I didn't test with GStreamer. I know that the camera is also able to stream raw Bayer data which requires less bandwidth than the default YUYV, although the driver does not currently expose that; maybe some higher framerates can be achieved also at VGA with Bayer output. In case you wanted to explore that remember to set supported framerates appropriately in ov772x_framerates for the 4 combinations of formats and resolutions (i.e. Bayer outputs will support more framerates). Ciao, Antonio --- drivers/media/usb/gspca/ov534.c | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/media/usb/gspca/ov534.c b/drivers/media/usb/gspca/ov534.c index 90f0d63..a9c866d 100644 --- a/drivers/media/usb/gspca/ov534.c +++ b/drivers/media/usb/gspca/ov534.c @@ -12,6 +12,8 @@ * PS3 Eye camera enhanced by Richard Kaswy http://kaswy.free.fr * PS3 Eye camera - brightness, contrast, awb, agc, aec controls * added by Max Thrun bear2...@gmail.com + * PS3 Eye camera - FPS range extended by Joseph Howse + * josephho...@nummist.com http://nummist.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 @@ -116,7 +118,7 @@ static const struct v4l2_pix_format ov767x_mode[] = { .colorspace = V4L2_COLORSPACE_JPEG}, }; -static const u8 qvga_rates[] = {125, 100, 75, 60, 50, 40, 30}; +static const u8 qvga_rates[] = {187, 150, 137, 125, 100, 75, 60, 50, 37, 30}; static const u8 vga_rates[] = {60, 50, 40, 30, 15}; static const struct framerates ov772x_framerates[] = { @@ -769,12 +771,16 @@ static void set_frame_rate(struct gspca_dev *gspca_dev) {15, 0x03, 0x41, 0x04}, }; static const struct rate_s rate_1[] = { /* 320x240 */ +/* {205, 0x01, 0xc1, 0x02}, * 205 FPS: video is partly corrupt */ + {187, 0x01, 0x81, 0x02}, /* 187 FPS or below: video is valid */ + {150, 0x01, 0xc1, 0x04}, + {137, 0x02, 0xc1, 0x02}, {125, 0x02, 0x81, 0x02}, {100, 0x02, 0xc1, 0x04}, {75, 0x03, 0xc1, 0x04}, {60, 0x04, 0xc1, 0x04}, {50, 0x02, 0x41, 0x04}, - {40, 0x03, 0x41, 0x04}, + {37, 0x03, 0x41, 0x04}, {30, 0x04, 0x41, 0x04}, }; -- 1.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 -- Antonio Ospite http://ao2.it A: Because it messes up the order in which people normally read text. See http://en.wikipedia.org/wiki/Posting_style Q: Why is top-posting such a bad thing? -- 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 regressions in recent kernels for el7
Hi: It's a long time since I posted to this list. I'm a long-time user of MythTV, using DVB-T in the UK. My current Mythbox is running myth-master under Scientific Linux 7, a near-clone of RHEL7, an x86_64 distro. I know that long-lived distros like this are not a prime target for linux-media, but they have some attractions. I'm currently running a recent but not current stock kernel; it works for me. Later stock kernels don't see the Hauppauge pci DVB-T card and don't identify separately the two tuners in the Kworld usb device. I've also tried later kernels from elrepo, with similar lack of success. So, I do have a working box, but updating kernels is broken. I'd appreciate suggestions. I have posted earlier on the MythTV and SL lists, without getting suggestions leading to a solution. Thanks, John Pilkington - This one works: [john@HP_Box ~]$ uname -r 3.10.0-123.9.3.el7.x86_64 [john@HP_Box ~]$ dmesg | grep adapter [ 12.319211] DVB: registering new adapter (Kworld UB499-2T T09(IT9137)) [ 12.939916] usb 2-2: DVB: registering adapter 0 frontend 0 (Kworld UB499-2T T09(IT9137)_1)... [ 12.941371] DVB: registering new adapter (Kworld UB499-2T T09(IT9137)) [ 13.584187] usb 2-2: DVB: registering adapter 1 frontend 0 (Kworld UB499-2T T09(IT9137)_2)... [ 16.764033] DVB: registering new adapter (saa7133[0]) [ 16.764043] saa7134 :07:04.0: DVB: registering adapter 2 frontend 0 (Philips TDA10046H DVB-T)... - This one, a later stock el7 kernel, doesn't work. [john@HP_Box ~]$ uname -r 3.10.0-123.13.1.el7.x86_64 john@HP_Box ~]$ dmesg | grep DVB [1.556887] saa7133[0]: subsystem: 0070:6700, board: Hauppauge WinTV-HVR1110 DVB-T/Hybrid [card=104,autodetected] [1.695217] tveeprom 0-0050: TV standards PAL(B/G) NTSC(M) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xfc) [1.708443] DVB: Unable to find symbol tda10046_attach() ** [1.736049] usb 2-2: Product: DVB-T TV Stick [1.845944] DVB: registering new adapter (Kworld UB499-2T T09(IT9137)) [1.848465] DVB: Unable to find symbol it913x_fe_attach() ** --- .. and this, a 'testing' kernel, doesn't see the Hauppauge pci device. [john@HP_Box ~]$ uname -r 3.18.0-1.el7.elrepo.x86_64 [john@HP_Box ~]$ dmesg | grep adapter [ 11.707221] DVB: registering new adapter (Kworld UB499-2T T09) [ 12.054409] usb 2-2: DVB: registering adapter 0 frontend 0 (Afatech AF9033 (DVB-T))... [ 12.343371] DVB: registering new adapter (Kworld UB499-2T T09) [ 12.352152] usb 2-2: DVB: registering adapter 1 frontend 0 (Afatech AF9033 (DVB-T))... - End -- 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 v2 2/2] V4L2: add CCF support to the v4l2_clk API
On Sun, 4 Jan 2015, Laurent Pinchart wrote: Hi Guennadi, Thank you for the patch. On Friday 02 January 2015 21:18:41 Guennadi Liakhovetski wrote: From aeaee56e04d023f3a019d2595ef5128015acdb06 Mon Sep 17 00:00:00 2001 From: Guennadi Liakhovetski g.liakhovet...@gmx.de Date: Fri, 2 Jan 2015 12:26:41 +0100 Subject: [PATCH 2/2] V4L2: add CCF support to the v4l2_clk API V4L2 clocks, e.g. used by camera sensors for their master clock, do not have to be supplied by a different V4L2 driver, they can also be supplied by an independent source. In this case the standart kernel clock API should be used to handle such clocks. This patch adds support for such cases. Signed-off-by: Guennadi Liakhovetski g.liakhovet...@gmx.de --- Hi Laurent, Thanks for the comment. The idea of allocating a new object for each get operation seems a bit weird to me, and completely trusting the user is a bit scary... :) But yes, it can work this way too, I think, and the user can screw either way too, anyway. The user needs to get it right for when we'll replace v4l2_clk_get() with clk_get(), so I'd rather force it to get it right now. So, here comes a v2. Something like this? v2: don't add CCF-related clocks on the global list, just allocate a new instance on each v4l2_clk_get() drivers/media/v4l2-core/v4l2-clk.c | 45 +++--- include/media/v4l2-clk.h | 2 ++ 2 files changed, 44 insertions(+), 3 deletions(-) diff --git a/drivers/media/v4l2-core/v4l2-clk.c b/drivers/media/v4l2-core/v4l2-clk.c index c210906..f5d1688 100644 --- a/drivers/media/v4l2-core/v4l2-clk.c +++ b/drivers/media/v4l2-core/v4l2-clk.c @@ -9,6 +9,7 @@ */ #include linux/atomic.h +#include linux/clk.h #include linux/device.h #include linux/errno.h #include linux/list.h @@ -42,6 +43,18 @@ static struct v4l2_clk *v4l2_clk_find(const char *dev_id, const char *id) struct v4l2_clk *v4l2_clk_get(struct device *dev, const char *id) { struct v4l2_clk *clk; + struct clk *ccf_clk = clk_get(dev, id); + + if (!IS_ERR(ccf_clk)) { + clk = kzalloc(sizeof(struct v4l2_clk), GFP_KERNEL); + if (!clk) { + clk_put(ccf_clk); + return ERR_PTR(-ENOMEM); + } + clk-clk = ccf_clk; + + return clk; + } If clk_get() returns -EPROBE_DEFER I think you should return the error code to the user instead of falling back to the v4l2 clocks. This is the case, when a clock is correctly set up in DT, but no suitable provider is registered yet, right? I think such a case isn't very likely, but yes, can do, makes more sense, perhaps. mutex_lock(clk_lock); clk = v4l2_clk_find(dev_name(dev), id); @@ -61,6 +74,12 @@ void v4l2_clk_put(struct v4l2_clk *clk) if (IS_ERR(clk)) return; + if (clk-clk) { + clk_put(clk-clk); + kfree(clk); + return; + } + mutex_lock(clk_lock); list_for_each_entry(tmp, clk_list, list) @@ -98,8 +117,12 @@ static void v4l2_clk_unlock_driver(struct v4l2_clk *clk) int v4l2_clk_enable(struct v4l2_clk *clk) { - int ret = v4l2_clk_lock_driver(clk); + int ret; + if (clk-clk) + return clk_enable(clk-clk); Shouldn't you use clk_prepare_enable() ? CCF requires a prepare call before enabling the clock. Right, my fault, thanks for pointing out. + + ret = v4l2_clk_lock_driver(clk); if (ret 0) return ret; @@ -125,6 +148,9 @@ void v4l2_clk_disable(struct v4l2_clk *clk) { int enable; + if (clk-clk) + return clk_disable(clk-clk); Likewise, clk_disable_unprepare() ? Sure. Ok, these are trivial changes, perhaps we can wait for Josh's test results, then I can submit a v3 with (hopefully) all required changes. Thanks Guennadi + mutex_lock(clk-lock); enable = --clk-enable; @@ -142,8 +168,12 @@ EXPORT_SYMBOL(v4l2_clk_disable); unsigned long v4l2_clk_get_rate(struct v4l2_clk *clk) { - int ret = v4l2_clk_lock_driver(clk); + int ret; + + if (clk-clk) + return clk_get_rate(clk-clk); + ret = v4l2_clk_lock_driver(clk); if (ret 0) return ret; @@ -162,7 +192,16 @@ EXPORT_SYMBOL(v4l2_clk_get_rate); int v4l2_clk_set_rate(struct v4l2_clk *clk, unsigned long rate) { - int ret = v4l2_clk_lock_driver(clk); + int ret; + + if (clk-clk) { + long r = clk_round_rate(clk-clk, rate); + if (r 0) + return r; + return clk_set_rate(clk-clk, r); + } + + ret = v4l2_clk_lock_driver(clk); if (ret 0) return ret; diff --git a/include/media/v4l2-clk.h b/include/media/v4l2-clk.h index 8f06967..4402b2d 100644 --- a/include/media/v4l2-clk.h +++
[PATCH v2 2/8] ARM: at91: dts: sama5d3: split isi pinctrl
From: Bo Shen voice.s...@atmel.com As the ISI has 12 data lines, however we only use 8 data lines with sensor module. So, split the data line into two groups which make it can be choosed depends on the hardware design. Signed-off-by: Bo Shen voice.s...@atmel.com Acked-by: Nicolas Ferre nicolas.fe...@atmel.com Acked-by: Alexandre Belloni alexandre.bell...@free-electrons.com Signed-off-by: Josh Wu josh...@atmel.com --- arch/arm/boot/dts/sama5d3.dtsi| 11 --- arch/arm/boot/dts/sama5d3xmb.dtsi | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/arch/arm/boot/dts/sama5d3.dtsi b/arch/arm/boot/dts/sama5d3.dtsi index 61746ef..595609f 100644 --- a/arch/arm/boot/dts/sama5d3.dtsi +++ b/arch/arm/boot/dts/sama5d3.dtsi @@ -547,7 +547,7 @@ }; isi { - pinctrl_isi: isi-0 { + pinctrl_isi_data_0_7: isi-0-data-0-7 { atmel,pins = AT91_PIOA 16 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA16 periph C ISI_D0, conflicts with LCDDAT16 */ AT91_PIOA 17 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA17 periph C ISI_D1, conflicts with LCDDAT17 */ @@ -559,10 +559,15 @@ AT91_PIOA 23 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA23 periph C ISI_D7, conflicts with LCDDAT23, PWML1 */ AT91_PIOC 30 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC30 periph C ISI_PCK, conflicts with UTXD0 */ AT91_PIOA 31 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA31 periph C ISI_HSYNC, conflicts with TWCK0, UTXD1 */ -AT91_PIOA 30 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA30 periph C ISI_VSYNC, conflicts with TWD0, URXD1 */ -AT91_PIOC 29 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC29 periph C ISI_PD8, conflicts with URXD0, PWMFI2 */ +AT91_PIOA 30 AT91_PERIPH_C AT91_PINCTRL_NONE; /* PA30 periph C ISI_VSYNC, conflicts with TWD0, URXD1 */ + }; + + pinctrl_isi_data_8_9: isi-0-data-8-9 { + atmel,pins = + AT91_PIOC 29 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC29 periph C ISI_PD8, conflicts with URXD0, PWMFI2 */ AT91_PIOC 28 AT91_PERIPH_C AT91_PINCTRL_NONE; /* PC28 periph C ISI_PD9, conflicts with SPI1_NPCS3, PWMFI0 */ }; + pinctrl_isi_pck_as_mck: isi_pck_as_mck-0 { atmel,pins = AT91_PIOD 31 AT91_PERIPH_B AT91_PINCTRL_NONE; /* PD31 periph B ISI_MCK */ diff --git a/arch/arm/boot/dts/sama5d3xmb.dtsi b/arch/arm/boot/dts/sama5d3xmb.dtsi index 49c10d3..2530541 100644 --- a/arch/arm/boot/dts/sama5d3xmb.dtsi +++ b/arch/arm/boot/dts/sama5d3xmb.dtsi @@ -61,7 +61,7 @@ isi: isi@f0034000 { pinctrl-names = default; - pinctrl-0 = pinctrl_isi pinctrl_isi_pck_as_mck pinctrl_isi_power pinctrl_isi_reset; + pinctrl-0 = pinctrl_isi_data_0_7 pinctrl_isi_pck_as_mck pinctrl_isi_power pinctrl_isi_reset; }; mmc1: mmc@f800 { -- 1.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
Re: [PATCHv2] media: i2c/adp1653: devicetree support for adp1653
Hi! Thanks for the patch! A few comments below. On Wed, Dec 24, 2014 at 11:34:34PM +0100, Pavel Machek wrote: We are moving to device tree support on OMAP3, but that currently breaks ADP1653 driver. This adds device tree support, plus required documentation. Signed-off-by: Pavel Machek pa...@ucw.cz --- Changed -microsec to -us, as requested by devicetree people. Fixed checkpatch issues. diff --git a/Documentation/devicetree/bindings/leds/common.txt b/Documentation/devicetree/bindings/leds/common.txt index 2d88816..2c6c7c5 100644 --- a/Documentation/devicetree/bindings/leds/common.txt +++ b/Documentation/devicetree/bindings/leds/common.txt @@ -14,6 +14,15 @@ Optional properties for child nodes: ide-disk - LED indicates disk activity timer - LED flashes at a fixed, configurable rate +- max-microamp : maximum intensity in microamperes of the LED +(torch LED for flash devices) s/torch LED/torch mode/ +- flash-max-microamp : maximum intensity in microamperes of the + flash LED; it is mandatory if the LED should + support the flash mode +- flash-timeout-microsec : timeout in microseconds after which the flash + LED is turned off These should go to a different patch. Actually these both should not be in this patch in the first place. + - reg: I2C slave address + + - gpios: References to the GPIO that controls the power for the chip. + +There are two led outputs available - flash and indicator. One led is +represented by one child node, nodes need to be named flash and indicator. 80 characters per line. Count them. It is. + +Required properties of the LED child node: +- max-microamp : see Documentation/devicetree/bindings/leds/common.txt + +Required properties of the flash LED child node: + +- flash-max-microamp : see Documentation/devicetree/bindings/leds/common.txt +- flash-timeout-us : see Documentation/devicetree/bindings/leds/common.txt + +Example: + +adp1653: led-controller@30 { +compatible = adi,adp1653; + reg = 0x30; +gpios = gpio3 24 GPIO_ACTIVE_HIGH; /* 88 */ Please use tabs for indentation above (and below). Ok. --- a/arch/arm/boot/dts/omap3-n900.dts +++ b/arch/arm/boot/dts/omap3-n900.dts @@ -553,6 +558,22 @@ ti,usb-charger-detection = isp1704; }; + + adp1653: led-controller@30 { + compatible = adi,adp1653; + reg = 0x30; + gpios = gpio3 24 GPIO_ACTIVE_HIGH; /* 88 */ + + flash { + flash-timeout-us = 50; + flash-max-microamp = 32; + max-microamp = 5; + }; + + indicator { + max-microamp = 17500; + }; + }; This should go to a separate patch as well. How many patches do I need to do for one trivial change? :-(. + if (flash-platform_data-power) + ret = flash-platform_data-power(flash-subdev, on); if () { } else { } Ok. + else { + gpio_set_value(flash-platform_data-power_gpio, on); Shouldn't you add this to the platform data struct? I don't see what you mean. power_gpio is actually a poor name for this, as is the power callback. This is really EN gpio in the spec, I'd call it perhaps just gpio, or enable_gpio. Feel free to clean that that up in followup patch. + if (on) { + /* Some delay is apparently required. */ + udelay(20); The driver should always handle the delay, platform data or not. This reminds me --- is there a need to retain the support for platform data? I don't think it's being used anywhere. I'm fine with both keeping and removing it. Lets do that in followup patch, if needed. + child = of_get_child_by_name(node, indicator); + if (!child) + return -EINVAL; Do you require an indicator to be connected? I think it shouldn't be mandatory, at least the driver should work without it, even if it exposes the control (making that conditional would be a subject for another patch, but that doesn't need to be done now). Another patch, if someone needs it, yes. + if (of_property_read_u32(child, max-microamp, val)) + return -EINVAL; + pd-max_indicator_intensity = val; + + if (!of_find_property(node, gpios, NULL)) { + dev_err(client-dev, No gpio node\n); + return -EINVAL; + } + + gpio = of_get_gpio_flags(node, 0, flags); You could assign to pd-... here. Ok. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- To unsubscribe from this list: send the
[PATCH v2 0/8] ARM: at91: dts: sama5d3: add dt support for atmel isi and ov2640 sensor
This patch series add ISI and ov2640 support on dts files. As the ov2640 driver dt is still in review. The patch is in: https://patchwork.linuxtv.org/patch/27554/ So I want to send this dt patch early for a review. v1 - v2: 1. add one more patch to change the pin name of ISI_MCK 2. rewrite the commit [4/8] ARM: at91: dts: sama5d3: change name of pinctrl_isi_{power,reset}. 3. move the common chip parts of ISI node to sama5d3.dtsi. Bo Shen (3): ARM: at91: dts: sama5d3: split isi pinctrl ARM: at91: dts: sama5d3: add missing pins of isi ARM: at91: dts: sama5d3: move the isi mck pin to mb Josh Wu (5): ARM: at91: dts: sama5d3: add isi clock ARM: at91: dts: sama5d3: change name of pinctrl_isi_{power,reset} ARM: at91: dts: sama5d3: change name of pinctrl of ISI_MCK ARM: at91: dts: sama5d3: add ov2640 camera sensor support ARM: at91: sama5: enable atmel-isi and ov2640 in defconfig arch/arm/boot/dts/sama5d3.dtsi| 24 ++- arch/arm/boot/dts/sama5d3xmb.dtsi | 40 +++ arch/arm/configs/sama5_defconfig | 6 ++ 3 files changed, 61 insertions(+), 9 deletions(-) -- 1.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 v2 1/8] ARM: at91: dts: sama5d3: add isi clock
Add ISI peripheral clock in sama5d3.dtsi. Signed-off-by: Josh Wu josh...@atmel.com Acked-by: Alexandre Belloni alexandre.bell...@free-electrons.com --- arch/arm/boot/dts/sama5d3.dtsi | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm/boot/dts/sama5d3.dtsi b/arch/arm/boot/dts/sama5d3.dtsi index 5f4144d..61746ef 100644 --- a/arch/arm/boot/dts/sama5d3.dtsi +++ b/arch/arm/boot/dts/sama5d3.dtsi @@ -214,6 +214,8 @@ compatible = atmel,at91sam9g45-isi; reg = 0xf0034000 0x4000; interrupts = 37 IRQ_TYPE_LEVEL_HIGH 5; + clocks = isi_clk; + clock-names = isi_clk; status = disabled; }; -- 1.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 v2 4/8] ARM: at91: dts: sama5d3: move the isi mck pin to mb
From: Bo Shen voice.s...@atmel.com The mck is decided by the board design, move it to mb related dtsi file. Signed-off-by: Bo Shen voice.s...@atmel.com Acked-by: Nicolas Ferre nicolas.fe...@atmel.com Acked-by: Alexandre Belloni alexandre.bell...@free-electrons.com Signed-off-by: Josh Wu josh...@atmel.com --- arch/arm/boot/dts/sama5d3.dtsi| 5 - arch/arm/boot/dts/sama5d3xmb.dtsi | 5 + 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/arch/arm/boot/dts/sama5d3.dtsi b/arch/arm/boot/dts/sama5d3.dtsi index b3ac156..ed734e9 100644 --- a/arch/arm/boot/dts/sama5d3.dtsi +++ b/arch/arm/boot/dts/sama5d3.dtsi @@ -573,11 +573,6 @@ AT91_PIOC 27 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC27 periph C ISI_PD10, conflicts with SPI1_NPCS2, TWCK1 */ AT91_PIOC 26 AT91_PERIPH_C AT91_PINCTRL_NONE; /* PC26 periph C ISI_PD11, conflicts with SPI1_NPCS1, TWD1 */ }; - - pinctrl_isi_pck_as_mck: isi_pck_as_mck-0 { - atmel,pins = - AT91_PIOD 31 AT91_PERIPH_B AT91_PINCTRL_NONE; /* PD31 periph B ISI_MCK */ - }; }; mmc0 { diff --git a/arch/arm/boot/dts/sama5d3xmb.dtsi b/arch/arm/boot/dts/sama5d3xmb.dtsi index 2530541..6af1cba 100644 --- a/arch/arm/boot/dts/sama5d3xmb.dtsi +++ b/arch/arm/boot/dts/sama5d3xmb.dtsi @@ -117,6 +117,11 @@ AT91_PIOD 30 AT91_PERIPH_B AT91_PINCTRL_NONE; /* PD30 periph B */ }; + pinctrl_isi_pck_as_mck: isi_pck_as_mck-0 { + atmel,pins = + AT91_PIOD 31 AT91_PERIPH_B AT91_PINCTRL_NONE; /* PD31 periph B ISI_MCK */ + }; + pinctrl_isi_reset: isi_reset-0 { atmel,pins = AT91_PIOE 24 AT91_PERIPH_GPIO AT91_PINCTRL_NONE; /* PE24 gpio */ -- 1.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 v2 3/8] ARM: at91: dts: sama5d3: add missing pins of isi
From: Bo Shen voice.s...@atmel.com The ISI has 12 data lines, add the missing two data lines. Signed-off-by: Bo Shen voice.s...@atmel.com Acked-by: Nicolas Ferre nicolas.fe...@atmel.com Acked-by: Alexandre Belloni alexandre.bell...@free-electrons.com --- arch/arm/boot/dts/sama5d3.dtsi | 6 ++ 1 file changed, 6 insertions(+) diff --git a/arch/arm/boot/dts/sama5d3.dtsi b/arch/arm/boot/dts/sama5d3.dtsi index 595609f..b3ac156 100644 --- a/arch/arm/boot/dts/sama5d3.dtsi +++ b/arch/arm/boot/dts/sama5d3.dtsi @@ -568,6 +568,12 @@ AT91_PIOC 28 AT91_PERIPH_C AT91_PINCTRL_NONE; /* PC28 periph C ISI_PD9, conflicts with SPI1_NPCS3, PWMFI0 */ }; + pinctrl_isi_data_10_11: isi-0-data-10-11 { + atmel,pins = + AT91_PIOC 27 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC27 periph C ISI_PD10, conflicts with SPI1_NPCS2, TWCK1 */ +AT91_PIOC 26 AT91_PERIPH_C AT91_PINCTRL_NONE; /* PC26 periph C ISI_PD11, conflicts with SPI1_NPCS1, TWD1 */ + }; + pinctrl_isi_pck_as_mck: isi_pck_as_mck-0 { atmel,pins = AT91_PIOD 31 AT91_PERIPH_B AT91_PINCTRL_NONE; /* PD31 periph B ISI_MCK */ -- 1.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 v2 5/8] ARM: at91: dts: sama5d3: change name of pinctrl_isi_{power,reset}
For sama5d3xmb board, the pins: pinctrl_isi_{power,reset} is used to power-down or reset camera sensor. So we should let camera sensor instead of ISI to configure the pins. This patch will change pinctrl name from pinctrl_isi_{power,reset} to pinctrl_sensor_{power,reset}. And remove these two pinctrl from ISI's DT node. We will add these two pinctrl to sensor's DT node. Signed-off-by: Josh Wu josh...@atmel.com --- v1 - v2: 1. only do things that mentioned in commit message. arch/arm/boot/dts/sama5d3xmb.dtsi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/arm/boot/dts/sama5d3xmb.dtsi b/arch/arm/boot/dts/sama5d3xmb.dtsi index 6af1cba..db47f8b 100644 --- a/arch/arm/boot/dts/sama5d3xmb.dtsi +++ b/arch/arm/boot/dts/sama5d3xmb.dtsi @@ -61,7 +61,7 @@ isi: isi@f0034000 { pinctrl-names = default; - pinctrl-0 = pinctrl_isi_data_0_7 pinctrl_isi_pck_as_mck pinctrl_isi_power pinctrl_isi_reset; + pinctrl-0 = pinctrl_isi_data_0_7 pinctrl_isi_pck_as_mck; }; mmc1: mmc@f800 { @@ -122,12 +122,12 @@ AT91_PIOD 31 AT91_PERIPH_B AT91_PINCTRL_NONE; /* PD31 periph B ISI_MCK */ }; - pinctrl_isi_reset: isi_reset-0 { + pinctrl_sensor_reset: sensor_reset-0 { atmel,pins = AT91_PIOE 24 AT91_PERIPH_GPIO AT91_PINCTRL_NONE; /* PE24 gpio */ }; - pinctrl_isi_power: isi_power-0 { + pinctrl_sensor_power: sensor_power-0 { atmel,pins = AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_NONE; /* PE29 gpio */ }; -- 1.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 v2 6/8] ARM: at91: dts: sama5d3: change name of pinctrl of ISI_MCK
For sama5d3xmb board, the pins: pinctrl_isi_pck_as_mck is pck1, and used to provide MCK for camera sensor. We change its name to: pinctrl_pck1_as_isi_mck. As we want camera sensor instead of ISI to configure the pck1 (ISI_MCK) pin. So we remove this pinctrl from ISI DT node. It will be added in sensor's DT node. Signed-off-by: Josh Wu josh...@atmel.com --- new added in v2. arch/arm/boot/dts/sama5d3xmb.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/boot/dts/sama5d3xmb.dtsi b/arch/arm/boot/dts/sama5d3xmb.dtsi index db47f8b..d9464fc 100644 --- a/arch/arm/boot/dts/sama5d3xmb.dtsi +++ b/arch/arm/boot/dts/sama5d3xmb.dtsi @@ -61,7 +61,7 @@ isi: isi@f0034000 { pinctrl-names = default; - pinctrl-0 = pinctrl_isi_data_0_7 pinctrl_isi_pck_as_mck; + pinctrl-0 = pinctrl_isi_data_0_7; }; mmc1: mmc@f800 { @@ -117,7 +117,7 @@ AT91_PIOD 30 AT91_PERIPH_B AT91_PINCTRL_NONE; /* PD30 periph B */ }; - pinctrl_isi_pck_as_mck: isi_pck_as_mck-0 { + pinctrl_pck1_as_isi_mck: pck1_as_isi_mck-0 { atmel,pins = AT91_PIOD 31 AT91_PERIPH_B AT91_PINCTRL_NONE; /* PD31 periph B ISI_MCK */ }; -- 1.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
[PATCHv3] media: i2c/adp1653: devicetree support for adp1653
We are moving to device tree support on OMAP3, but that currently breaks ADP1653 driver. This adds device tree support, plus required documentation. Signed-off-by: Pavel Machek pa...@ucw.cz --- Please apply, Pavel diff --git a/Documentation/devicetree/bindings/media/i2c/adp1653.txt b/Documentation/devicetree/bindings/media/i2c/adp1653.txt new file mode 100644 index 000..0fc28a9 --- /dev/null +++ b/Documentation/devicetree/bindings/media/i2c/adp1653.txt @@ -0,0 +1,37 @@ +* Analog Devices ADP1653 flash LED driver + +Required Properties: + + - compatible: Must contain be adi,adp1653 + + - reg: I2C slave address + + - gpios: References to the GPIO that controls the power for the chip. + +There are two led outputs available - flash and indicator. One led is +represented by one child node, nodes need to be named flash and indicator. + +Required properties of the LED child node: +- max-microamp : see Documentation/devicetree/bindings/leds/common.txt + +Required properties of the flash LED child node: + +- flash-max-microamp : see Documentation/devicetree/bindings/leds/common.txt +- flash-timeout-us : see Documentation/devicetree/bindings/leds/common.txt + +Example: + + adp1653: led-controller@30 { + compatible = adi,adp1653; + reg = 0x30; + gpios = gpio3 24 GPIO_ACTIVE_HIGH; /* 88 */ + + flash { + flash-timeout-us = 50; + flash-max-microamp = 32; + max-microamp = 5; + }; + indicator { + max-microamp = 17500; + }; + }; diff --git a/drivers/media/i2c/adp1653.c b/drivers/media/i2c/adp1653.c index 873fe19..0341009 100644 --- a/drivers/media/i2c/adp1653.c +++ b/drivers/media/i2c/adp1653.c @@ -8,6 +8,7 @@ * Contributors: * Sakari Ailus sakari.ai...@iki.fi * Tuukka Toivonen tuukka...@gmail.com + * Pavel Machek pa...@ucw.cz * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -34,6 +35,8 @@ #include linux/module.h #include linux/i2c.h #include linux/slab.h +#include linux/of_gpio.h +#include linux/gpio.h #include media/adp1653.h #include media/v4l2-device.h @@ -306,9 +309,17 @@ adp1653_init_device(struct adp1653_flash *flash) static int __adp1653_set_power(struct adp1653_flash *flash, int on) { - int ret; + int ret = 0; + + if (flash-platform_data-power) { + ret = flash-platform_data-power(flash-subdev, on); + } else { + gpio_set_value(flash-platform_data-power_gpio, on); + if (on) + /* Some delay is apparently required. */ + udelay(20); + } - ret = flash-platform_data-power(flash-subdev, on); if (ret 0) return ret; @@ -316,8 +327,13 @@ __adp1653_set_power(struct adp1653_flash *flash, int on) return 0; ret = adp1653_init_device(flash); - if (ret 0) + if (ret = 0) + return ret; + + if (flash-platform_data-power) flash-platform_data-power(flash-subdev, 0); + else + gpio_set_value(flash-platform_data-power_gpio, 0); return ret; } @@ -407,21 +423,77 @@ static int adp1653_resume(struct device *dev) #endif /* CONFIG_PM */ +static int adp1653_of_init(struct i2c_client *client, + struct adp1653_flash *flash, + struct device_node *node) +{ + u32 val; + struct adp1653_platform_data *pd; + enum of_gpio_flags flags; + int gpio; + struct device_node *child; + + if (!node) + return -EINVAL; + + pd = devm_kzalloc(client-dev, sizeof(*pd), GFP_KERNEL); + if (!pd) + return -ENOMEM; + flash-platform_data = pd; + + child = of_get_child_by_name(node, flash); + if (!child) + return -EINVAL; + if (of_property_read_u32(child, flash-timeout-microsec, val)) + return -EINVAL; + + pd-max_flash_timeout = val; + if (of_property_read_u32(child, flash-max-microamp, val)) + return -EINVAL; + pd-max_flash_intensity = val/1000; + + if (of_property_read_u32(child, max-microamp, val)) + return -EINVAL; + pd-max_torch_intensity = val/1000; + + child = of_get_child_by_name(node, indicator); + if (!child) + return -EINVAL; + if (of_property_read_u32(child, max-microamp, val)) + return -EINVAL; + pd-max_indicator_intensity = val; + + if (!of_find_property(node, gpios, NULL)) { + dev_err(client-dev, No gpio node\n); + return -EINVAL; + } + + pd-power_gpio = of_get_gpio_flags(node, 0, flags); +
Re: [PATCH 0/2] V4L2: add CCF support to v4l2_clk
Hi, Guennadi On 1/2/2015 7:48 PM, Guennadi Liakhovetski wrote: Hi, This is an attempt to implement CCF support for v4l2_clk to be able to use e.g. DT-based clocks. Beware - completely untested! Josh, could you please see, whether you can use this as a starting point? Thanks for the patches. I will test these patches tomorrow. Best Regards, Josh Wu Thanks Guennadi -- 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 v2 2/2] V4L2: add CCF support to the v4l2_clk API
Hi Guennadi, On Sunday 04 January 2015 17:45:04 Guennadi Liakhovetski wrote: On Sun, 4 Jan 2015, Laurent Pinchart wrote: On Friday 02 January 2015 21:18:41 Guennadi Liakhovetski wrote: From aeaee56e04d023f3a019d2595ef5128015acdb06 Mon Sep 17 00:00:00 2001 From: Guennadi Liakhovetski g.liakhovet...@gmx.de Date: Fri, 2 Jan 2015 12:26:41 +0100 Subject: [PATCH 2/2] V4L2: add CCF support to the v4l2_clk API V4L2 clocks, e.g. used by camera sensors for their master clock, do not have to be supplied by a different V4L2 driver, they can also be supplied by an independent source. In this case the standart kernel clock API should be used to handle such clocks. This patch adds support for such cases. Signed-off-by: Guennadi Liakhovetski g.liakhovet...@gmx.de --- Hi Laurent, Thanks for the comment. The idea of allocating a new object for each get operation seems a bit weird to me, and completely trusting the user is a bit scary... :) But yes, it can work this way too, I think, and the user can screw either way too, anyway. The user needs to get it right for when we'll replace v4l2_clk_get() with clk_get(), so I'd rather force it to get it right now. So, here comes a v2. Something like this? v2: don't add CCF-related clocks on the global list, just allocate a new instance on each v4l2_clk_get() drivers/media/v4l2-core/v4l2-clk.c | 45 --- include/media/v4l2-clk.h | 2 ++ 2 files changed, 44 insertions(+), 3 deletions(-) diff --git a/drivers/media/v4l2-core/v4l2-clk.c b/drivers/media/v4l2-core/v4l2-clk.c index c210906..f5d1688 100644 --- a/drivers/media/v4l2-core/v4l2-clk.c +++ b/drivers/media/v4l2-core/v4l2-clk.c @@ -9,6 +9,7 @@ */ #include linux/atomic.h +#include linux/clk.h #include linux/device.h #include linux/errno.h #include linux/list.h @@ -42,6 +43,18 @@ static struct v4l2_clk *v4l2_clk_find(const char *dev_id, const char *id) struct v4l2_clk *v4l2_clk_get(struct device *dev, const char *id) { struct v4l2_clk *clk; + struct clk *ccf_clk = clk_get(dev, id); + + if (!IS_ERR(ccf_clk)) { + clk = kzalloc(sizeof(struct v4l2_clk), GFP_KERNEL); + if (!clk) { + clk_put(ccf_clk); + return ERR_PTR(-ENOMEM); + } + clk-clk = ccf_clk; + + return clk; + } If clk_get() returns -EPROBE_DEFER I think you should return the error code to the user instead of falling back to the v4l2 clocks. This is the case, when a clock is correctly set up in DT, but no suitable provider is registered yet, right? I think such a case isn't very likely, but yes, can do, makes more sense, perhaps. Yes, that's the use case. Even if it's not that likely I think it should still be implemented, if only to mimic the CCF behaviour and prepare drivers for the switch away from v4l2_clk_get(). mutex_lock(clk_lock); clk = v4l2_clk_find(dev_name(dev), id); @@ -61,6 +74,12 @@ void v4l2_clk_put(struct v4l2_clk *clk) if (IS_ERR(clk)) return; + if (clk-clk) { + clk_put(clk-clk); + kfree(clk); + return; + } + mutex_lock(clk_lock); list_for_each_entry(tmp, clk_list, list) @@ -98,8 +117,12 @@ static void v4l2_clk_unlock_driver(struct v4l2_clk *clk) int v4l2_clk_enable(struct v4l2_clk *clk) { - int ret = v4l2_clk_lock_driver(clk); + int ret; + if (clk-clk) + return clk_enable(clk-clk); Shouldn't you use clk_prepare_enable() ? CCF requires a prepare call before enabling the clock. Right, my fault, thanks for pointing out. + + ret = v4l2_clk_lock_driver(clk); if (ret 0) return ret; @@ -125,6 +148,9 @@ void v4l2_clk_disable(struct v4l2_clk *clk) { int enable; + if (clk-clk) + return clk_disable(clk-clk); Likewise, clk_disable_unprepare() ? Sure. Ok, these are trivial changes, perhaps we can wait for Josh's test results, then I can submit a v3 with (hopefully) all required changes. Sure. CCF will trigger warnings due to clk_prepare() not being called though. + mutex_lock(clk-lock); enable = --clk-enable; @@ -142,8 +168,12 @@ EXPORT_SYMBOL(v4l2_clk_disable); unsigned long v4l2_clk_get_rate(struct v4l2_clk *clk) { - int ret = v4l2_clk_lock_driver(clk); + int ret; + + if (clk-clk) + return clk_get_rate(clk-clk); + ret = v4l2_clk_lock_driver(clk); if (ret 0) return ret; @@ -162,7 +192,16 @@ EXPORT_SYMBOL(v4l2_clk_get_rate); int v4l2_clk_set_rate(struct v4l2_clk *clk, unsigned long rate) { - int ret = v4l2_clk_lock_driver(clk); + int ret; + + if (clk-clk) { +
RE: [PATCH] [media] s5p-jpeg: Clear JPEG_CODEC_ON bits in sw reset function
Gentle Reminder. Thanks Tony -Original Message- From: Tony K Nadackal [mailto:tony...@samsung.com] Sent: Wednesday, December 17, 2014 11:52 AM To: linux-media@vger.kernel.org; linux-arm-ker...@lists.infradead.org; linux- samsung-...@vger.kernel.org Cc: mche...@osg.samsung.com; j.anaszew...@samsung.com; kg...@kernel.org; k.deb...@samsung.com; s.nawro...@samsung.com; bhusha...@samsung.com; Tony K Nadackal Subject: [PATCH] [media] s5p-jpeg: Clear JPEG_CODEC_ON bits in sw reset function Bits EXYNOS4_DEC_MODE and EXYNOS4_ENC_MODE do not get cleared on software reset. These bits need to be cleared explicitly. Signed-off-by: Tony K Nadackal tony...@samsung.com --- This patch is created and tested on top of linux-next-20141210. It can be cleanly applied on media-next and kgene/for-next. drivers/media/platform/s5p-jpeg/jpeg-hw-exynos4.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/media/platform/s5p-jpeg/jpeg-hw-exynos4.c b/drivers/media/platform/s5p-jpeg/jpeg-hw-exynos4.c index ab6d6f43..e53f13a 100644 --- a/drivers/media/platform/s5p-jpeg/jpeg-hw-exynos4.c +++ b/drivers/media/platform/s5p-jpeg/jpeg-hw-exynos4.c @@ -21,6 +21,10 @@ void exynos4_jpeg_sw_reset(void __iomem *base) unsigned int reg; reg = readl(base + EXYNOS4_JPEG_CNTL_REG); + writel(reg ~(EXYNOS4_DEC_MODE | EXYNOS4_ENC_MODE), + base + EXYNOS4_JPEG_CNTL_REG); + + reg = readl(base + EXYNOS4_JPEG_CNTL_REG); writel(reg ~EXYNOS4_SOFT_RESET_HI, base + EXYNOS4_JPEG_CNTL_REG); udelay(100); -- 2.2.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
RE: [PATCH] [media] s5p-jpeg: Fix crash in jpeg isr due to multiple interrupts.
Gentle Reminder. Thanks Tony -Original Message- From: Tony K Nadackal [mailto:tony...@samsung.com] Sent: Wednesday, December 17, 2014 11:55 AM To: linux-media@vger.kernel.org; linux-arm-ker...@lists.infradead.org; linux- samsung-...@vger.kernel.org Cc: mche...@osg.samsung.com; j.anaszew...@samsung.com; kg...@kernel.org; k.deb...@samsung.com; s.nawro...@samsung.com; bhusha...@samsung.com; Tony K Nadackal Subject: [PATCH] [media] s5p-jpeg: Fix crash in jpeg isr due to multiple interrupts. In case of corrupt images, multiple interrupts may occur due to different error scenarios. Since we are removing the src and dest buffers in the first interrupt itself, crash occurs in the second error interrupts. Disable the global interrupt before we start processing the interrupt avoid the crash. Disable System interrupt in isr to avoid the crash below. Unable to handle kernel NULL pointer dereference at virtual address 00c8 pgd = ffc0007db000 [00c8] *pgd=fb006003, *pud=fb006003, *pmd=fb007003, *pte=006011001707 Internal error: Oops: 9607 [#1] PREEMPT SMP Modules linked in: CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.18.0-next-20141210+ #22 Hardware name: Samsung Exynos7 Espresso board based on EXYNOS7 (DT) task: ffc00075e5c0 ti: ffc00074c000 task.ti: ffc00074c000 PC is at exynos4_jpeg_irq+0x30/0x15c LR is at exynos4_jpeg_irq+0x2c/0x15c pc : [ffc00040873c] lr : [ffc000408738] pstate: 81c5 sp : ffc00074fc60 x29: ffc00074fc60 x28: 00404000 x27: ffc000673928 x26: ffc000673940 x25: ffc0007a030c x24: ffc0bb20a400 x23: 0030 x22: ffc0ba56ba40 x21: x20: x19: ffc0ba56ba18 x18: x17: x16: ffc00018b508 x15: x14: x13: 00989680 x12: 00989680 x11: 0004 x10: 0101010101010101 x9 : 0020a285a9ea x8 : ffc0007af880 x7 : ffc0bac001a8 x6 : ffc0bac0 x5 : fffa x4 : ffc00040870c x3 : 0003 x2 : 00010003 x1 : 00010002 x0 : Process swapper/0 (pid: 0, stack limit = 0xffc00074c058) Stack: (0xffc00074fc60 to 0xffc00075) fc60: 0074fca0 ffc0 000e4508 ffc0 bb225300 ffc0 bb20a494 ffc0 fc80: 0030 000f8c6c ffc0 fca0: 0074fd00 ffc0 000e4644 ffc0 bb20a400 ffc0 bb20a494 ffc0 fcc0: 00776a00 ffc0 00670da8 ffc0 0001 fce0: bb008000 ffc0 407db000 00081230 ffc0 000e4638 ffc0 fd00: 0074fd40 ffc0 000e7338 ffc0 bb20a400 ffc0 bb20a494 ffc0 fd20: 00776a00 ffc0 000e7280 ffc0 bb225300 ffc0 000e72e0 ffc0 fd40: 0074fd70 ffc0 000e3d60 ffc0 0030 00743000 ffc0 fd60: 0066e000 ffc0 006c2000 ffc0 0074fd90 ffc0 000e3e90 ffc0 fd80: 007437c8 ffc0 000e3e6c ffc0 0074fdf0 ffc0 00082404 ffc0 fda0: 0074fe20 ffc0 0075a000 ffc0 200c ff80 2010 ff80 fdc0: 6145 00672cc8 ffc0 407d9000 befb9b40 ffc0 fde0: 0074fe20 ffc0 01d2 0074ff40 ffc0 00085da8 ffc0 fe00: 00758584 ffc0 0052c000 ffc0 0074ff40 ffc0 00087114 ffc0 fe20: 0074ff50 ffc0 0067d760 ffc0 befb9adc ffc0 fe40: 0001 d4414200 0020 d6a39c00 0020 007a6a18 ffc0 fe60: 0075eb00 ffc0 0074fd60 ffc0 c185 0020 fe80: 0052d340 ffc0 0030 fffe 0fff fea0: 0018b508 ffc0 00758584 ffc0 fec0: 0052c000 ffc0 006c24e8 ffc0 007a030a ffc0 0001 fee0: 00672cc8 ffc0 407d9000 407db000 00081230 ffc0 ff00: 4000 0040 0074ff40 ffc0 00087110 ffc0 0074ff40 ffc0 ff20: 00087114 ffc0 6145 00758584 ffc0 0052c000 ffc0 ff40: 0074ff50 ffc0 000db568 ffc0 0074ff90 ffc0 00515fdc ffc0 ff60: 00758000 ffc0 007a3000 ffc0 007a3000 ffc0 befc8940 ffc0 ff80: 4076 4000 0074ffb0 ffc0 006ff998 ffc0 ffa0: 0002 006ff988 ffc0 400826c0 ffc0: 8f03a688 0e11 4800 410fd030 ffe0: 0072c250 ffc0 Call trace: [ffc00040873c] exynos4_jpeg_irq+0x30/0x15c [ffce4504] handle_irq_event_percpu+0x6c/0x160 [ffce4640] handle_irq_event+0x48/0x78 [ffce7334] handle_fasteoi_irq+0xe0/0x198 [ffce3d5c] generic_handle_irq+0x24/0x40 [ffce3e8c] __handle_domain_irq+0x80/0xf0 [ffc82400] gic_handle_irq+0x30/0x80 Exception
RE: [PATCH v2 0/2] Adding support for Exynos7 Jpeg variant
Gentle Reminder. Thanks, Tony -Original Message- From: Tony K Nadackal [mailto:tony...@samsung.com] Sent: Friday, December 19, 2014 1:08 PM To: linux-media@vger.kernel.org; linux-arm-ker...@lists.infradead.org; linux- samsung-...@vger.kernel.org; devicet...@vger.kernel.org Cc: mche...@osg.samsung.com; j.anaszew...@samsung.com; kg...@kernel.org; k.deb...@samsung.com; s.nawro...@samsung.com; robh...@kernel.org; mark.rutl...@arm.com; bhusha...@samsung.com; Tony K Nadackal Subject: [PATCH v2 0/2] Adding support for Exynos7 Jpeg variant This patch series adds support for Exynos7 JPEG variant, which is mostly same as Exynos4 JPEG variants with few register configuration differences. At the same time it modifies #define based JPEG variant macros into enum. Patch 1/2 fixes possible bug in setting INT EN register, where EXYNOS4_INT_EN_REG was getting modified without reading before. Patch set v1 and related discussion can be found here [1]. [1]: http://www.spinics.net/lists/linux-samsung-soc/msg40308.html Changes since v1: - Added new patch 1/2 which fixes issues in writing EXYNOS4_INT_EN_REG. - Converted JPEG variant macros into enum as suggested by Jacek Anaszewski. Tony K Nadackal (2): [media] s5p-jpeg: Fix modification sequence of interrupt enable register [media] s5p-jpeg: Adding Exynos7 Jpeg variant .../bindings/media/exynos-jpeg-codec.txt | 2 +- drivers/media/platform/s5p-jpeg/jpeg-core.c| 61 ++--- - drivers/media/platform/s5p-jpeg/jpeg-core.h| 10 ++-- drivers/media/platform/s5p-jpeg/jpeg-hw-exynos4.c | 33 +++- drivers/media/platform/s5p-jpeg/jpeg-hw-exynos4.h | 8 +-- drivers/media/platform/s5p-jpeg/jpeg-regs.h| 17 -- 6 files changed, 95 insertions(+), 36 deletions(-) -- 2.2.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
RE: [PATCH] [media] s5p-jpeg: Initialize cb and cr to zero.
Gentle Reminder. Thanks, Tony -Original Message- From: Tony K Nadackal [mailto:tony...@samsung.com] Sent: Wednesday, December 17, 2014 12:51 PM To: linux-media@vger.kernel.org; linux-arm-ker...@lists.infradead.org; linux- samsung-...@vger.kernel.org Cc: mche...@osg.samsung.com; j.anaszew...@samsung.com; kg...@kernel.org; k.deb...@samsung.com; s.nawro...@samsung.com; bhusha...@samsung.com; Tony K Nadackal Subject: [PATCH] [media] s5p-jpeg: Initialize cb and cr to zero. To avoid garbage value written into image base address planes, initialize cb and cr of structure s5p_jpeg_addr to zero. Signed-off-by: Tony K Nadackal tony...@samsung.com --- This patch is created and tested on top of linux-next-20141210. It can be cleanly applied on media-next and kgene/for-next. drivers/media/platform/s5p-jpeg/jpeg-core.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/media/platform/s5p-jpeg/jpeg-core.c b/drivers/media/platform/s5p-jpeg/jpeg-core.c index 91bd3e6..54fa5d9 100644 --- a/drivers/media/platform/s5p-jpeg/jpeg-core.c +++ b/drivers/media/platform/s5p-jpeg/jpeg-core.c @@ -1845,6 +1845,9 @@ static void exynos4_jpeg_set_img_addr(struct s5p_jpeg_ctx *ctx) struct s5p_jpeg_addr jpeg_addr; u32 pix_size, padding_bytes = 0; + jpeg_addr.cb = 0; + jpeg_addr.cr = 0; + pix_size = ctx-cap_q.w * ctx-cap_q.h; if (ctx-mode == S5P_JPEG_ENCODE) { -- 2.2.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
cron job: media_tree daily build: ERRORS
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: Mon Jan 5 04:00:08 CET 2015 git branch: test git hash: 99f3cd52aee21091ce62442285a68873e3be833f gcc version:i686-linux-gcc (GCC) 4.9.1 sparse version: v0.5.0-41-g6c2d743 smatch version: 0.4.1-3153-g7d56ab3 host hardware: x86_64 host os:3.17-3.slh.2-amd64 linux-git-arm-at91: OK linux-git-arm-davinci: OK linux-git-arm-exynos: OK linux-git-arm-mx: OK linux-git-arm-omap: OK linux-git-arm-omap1: OK linux-git-arm-pxa: OK linux-git-blackfin: OK linux-git-i686: OK linux-git-m32r: OK linux-git-mips: OK linux-git-powerpc64: OK linux-git-sh: OK linux-git-x86_64: OK linux-2.6.32.27-i686: ERRORS linux-2.6.33.7-i686: ERRORS linux-2.6.34.7-i686: ERRORS linux-2.6.35.9-i686: ERRORS linux-2.6.36.4-i686: ERRORS linux-2.6.37.6-i686: ERRORS linux-2.6.38.8-i686: ERRORS linux-2.6.39.4-i686: ERRORS linux-3.0.60-i686: ERRORS linux-3.1.10-i686: ERRORS linux-3.2.37-i686: ERRORS linux-3.3.8-i686: ERRORS linux-3.4.27-i686: ERRORS linux-3.5.7-i686: ERRORS linux-3.6.11-i686: ERRORS linux-3.7.4-i686: ERRORS linux-3.8-i686: ERRORS linux-3.9.2-i686: ERRORS linux-3.10.1-i686: ERRORS linux-3.11.1-i686: ERRORS linux-3.12.23-i686: ERRORS linux-3.13.11-i686: ERRORS linux-3.14.9-i686: ERRORS linux-3.15.2-i686: ERRORS linux-3.16-i686: ERRORS linux-3.17-i686: ERRORS linux-3.18-i686: ERRORS linux-2.6.32.27-x86_64: ERRORS linux-2.6.33.7-x86_64: ERRORS linux-2.6.34.7-x86_64: ERRORS linux-2.6.35.9-x86_64: ERRORS linux-2.6.36.4-x86_64: ERRORS linux-2.6.37.6-x86_64: ERRORS linux-2.6.38.8-x86_64: ERRORS linux-2.6.39.4-x86_64: ERRORS linux-3.0.60-x86_64: ERRORS linux-3.1.10-x86_64: ERRORS linux-3.2.37-x86_64: ERRORS linux-3.3.8-x86_64: ERRORS linux-3.4.27-x86_64: ERRORS linux-3.5.7-x86_64: ERRORS linux-3.6.11-x86_64: ERRORS linux-3.7.4-x86_64: ERRORS linux-3.8-x86_64: ERRORS linux-3.9.2-x86_64: ERRORS linux-3.10.1-x86_64: ERRORS linux-3.11.1-x86_64: ERRORS linux-3.12.23-x86_64: ERRORS linux-3.13.11-x86_64: ERRORS linux-3.14.9-x86_64: ERRORS linux-3.15.2-x86_64: ERRORS linux-3.16-x86_64: ERRORS linux-3.17-x86_64: ERRORS linux-3.18-x86_64: ERRORS apps: OK spec-git: OK sparse: WARNINGS smatch: ERRORS Detailed results are available here: http://www.xs4all.nl/~hverkuil/logs/Monday.log Full logs are available here: http://www.xs4all.nl/~hverkuil/logs/Monday.tar.bz2 The Media Infrastructure API 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