Re: [PATCH 6/7] ARM: at91: dts: sama5d3: add ov2640 camera sensor support
Hi, Alexandre Thanks for the review. On 12/20/2014 5:05 AM, Alexandre Belloni wrote: On 18/12/2014 at 16:51:06 +0800, Josh Wu wrote : According to v4l2 dt document, we add: a camera host: ISI port. a i2c camera sensor: ov2640 port. to sama5d3xmb.dtsi. In the ov2640 node, it defines the pinctrls, clocks and isi port. In the ISI node, it also reference to a ov2640 port. Signed-off-by: Josh Wu --- arch/arm/boot/dts/sama5d3xmb.dtsi | 32 1 file changed, 32 insertions(+) diff --git a/arch/arm/boot/dts/sama5d3xmb.dtsi b/arch/arm/boot/dts/sama5d3xmb.dtsi index 0aaebc6..958a528 100644 --- a/arch/arm/boot/dts/sama5d3xmb.dtsi +++ b/arch/arm/boot/dts/sama5d3xmb.dtsi @@ -52,6 +52,29 @@ }; }; + i2c1: i2c@f0018000 { + ov2640: camera@0x30 { + compatible = "ovti,ov2640"; + reg = <0x30>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_isi_pck_as_mck &pinctrl_sensor_power &pinctrl_sensor_reset>; I've acked your previous patch but maybe it should be named pinctrl_isi_pck1_as_mck to be clearer (you used the handle to pck1 below). It's a good idea. Maybe I prefer to use the name: pinctrl_pck1_as_isi_mck ? If you are ok with this name, in next version, I will add one more patch in the series to do this. And I will keep your acked-by in my previous patch. Best Regards, Josh Wu + resetb-gpios = <&pioE 24 GPIO_ACTIVE_LOW>; + pwdn-gpios = <&pioE 29 GPIO_ACTIVE_HIGH>; + /* use pck1 for the master clock of ov2640 */ + clocks = <&pck1>; + clock-names = "xvclk"; + assigned-clocks = <&pck1>; + assigned-clock-rates = <2500>; + + port { + ov2640_0: endpoint { + remote-endpoint = <&isi_0>; + bus-width = <8>; + }; + }; + }; + }; + usart1: serial@f002 { dmas = <0>, <0>;/* Do not use DMA for usart1 */ pinctrl-names = "default"; @@ -60,6 +83,15 @@ }; isi: isi@f0034000 { + port { + #address-cells = <1>; + #size-cells = <0>; + + isi_0: endpoint { + remote-endpoint = <&ov2640_0>; + bus-width = <8>; + }; + }; }; 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
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 Dec 22 04:00:14 CET 2014 git branch: test git hash: 427ae153c65ad7a08288d86baf99000569627d03 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: OK linux-2.6.33.7-i686: OK linux-2.6.34.7-i686: OK linux-2.6.35.9-i686: OK linux-2.6.36.4-i686: OK linux-2.6.37.6-i686: OK linux-2.6.38.8-i686: OK linux-2.6.39.4-i686: OK linux-3.0.60-i686: OK linux-3.1.10-i686: OK linux-3.2.37-i686: OK linux-3.3.8-i686: OK linux-3.4.27-i686: OK linux-3.5.7-i686: OK linux-3.6.11-i686: OK linux-3.7.4-i686: OK linux-3.8-i686: OK linux-3.9.2-i686: OK linux-3.10.1-i686: OK linux-3.11.1-i686: OK linux-3.12.23-i686: OK linux-3.13.11-i686: OK linux-3.14.9-i686: OK linux-3.15.2-i686: OK linux-3.16-i686: OK linux-3.17-i686: OK linux-3.18-i686: OK linux-2.6.32.27-x86_64: OK linux-2.6.33.7-x86_64: OK linux-2.6.34.7-x86_64: OK linux-2.6.35.9-x86_64: OK linux-2.6.36.4-x86_64: OK linux-2.6.37.6-x86_64: OK linux-2.6.38.8-x86_64: OK linux-2.6.39.4-x86_64: OK linux-3.0.60-x86_64: OK linux-3.1.10-x86_64: OK linux-3.2.37-x86_64: OK linux-3.3.8-x86_64: OK linux-3.4.27-x86_64: OK linux-3.5.7-x86_64: OK linux-3.6.11-x86_64: OK linux-3.7.4-x86_64: OK linux-3.8-x86_64: OK linux-3.9.2-x86_64: OK linux-3.10.1-x86_64: OK linux-3.11.1-x86_64: OK linux-3.12.23-x86_64: OK linux-3.13.11-x86_64: OK linux-3.14.9-x86_64: OK linux-3.15.2-x86_64: OK linux-3.16-x86_64: OK linux-3.17-x86_64: OK linux-3.18-x86_64: OK apps: OK spec-git: OK sparse: ERRORS 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
pd-main.c:undefined reference to `usb_lock_device_for_reset'
tree: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 97bf6af1f928216fd6c5a66e8a57bfa95a659672 commit: ea2e813e8cc3492c951b9895724fd47187e04a6f [media] tlg2300: move to staging in preparation for removal date: 5 days ago config: i386-randconfig-ib0-12220853 (attached as .config) reproduce: git checkout ea2e813e8cc3492c951b9895724fd47187e04a6f # save the attached .config to linux build tree make ARCH=i386 All error/warnings: drivers/built-in.o: In function `usb_transfer_stop': pd-video.c:(.text+0x5cb256): undefined reference to `usb_kill_urb' drivers/built-in.o: In function `pd_video_checkmode': pd-video.c:(.text+0x5cb2ba): undefined reference to `usb_set_interface' drivers/built-in.o: In function `urb_complete_bulk': pd-video.c:(.text+0x5cb577): undefined reference to `usb_submit_urb' drivers/built-in.o: In function `urb_complete_iso': pd-video.c:(.text+0x5cb659): undefined reference to `usb_submit_urb' drivers/built-in.o: In function `alloc_bulk_urbs_generic': (.text+0x5cb842): undefined reference to `usb_alloc_urb' drivers/built-in.o: In function `alloc_bulk_urbs_generic': (.text+0x5cb859): undefined reference to `usb_alloc_coherent' drivers/built-in.o: In function `alloc_bulk_urbs_generic': (.text+0x5cb865): undefined reference to `usb_free_urb' drivers/built-in.o: In function `start_video_stream': pd-video.c:(.text+0x5cb971): undefined reference to `usb_alloc_urb' pd-video.c:(.text+0x5cb991): undefined reference to `usb_alloc_coherent' pd-video.c:(.text+0x5cba75): undefined reference to `usb_submit_urb' drivers/built-in.o: In function `free_all_urb_generic': (.text+0x5cbc8c): undefined reference to `usb_free_coherent' drivers/built-in.o: In function `free_all_urb_generic': (.text+0x5cbc93): undefined reference to `usb_free_urb' drivers/built-in.o: In function `pm_video_suspend': pd-video.c:(.text+0x5cbdd3): undefined reference to `usb_set_interface' drivers/built-in.o: In function `fire_audio_urb': pd-alsa.c:(.text+0x5cc32a): undefined reference to `usb_submit_urb' drivers/built-in.o: In function `audio_buf_free': pd-alsa.c:(.text+0x5cc534): undefined reference to `usb_kill_urb' drivers/built-in.o: In function `complete_handler_audio': pd-alsa.c:(.text+0x5cc6db): undefined reference to `usb_submit_urb' drivers/built-in.o: In function `dvb_start_streaming': pd-dvb.c:(.text+0x5cc9fc): undefined reference to `usb_submit_urb' drivers/built-in.o: In function `dvb_urb_irq': pd-dvb.c:(.text+0x5ccb1d): undefined reference to `usb_submit_urb' drivers/built-in.o: In function `poseidon_check_mode_dvbt': pd-dvb.c:(.text+0x5ccb7b): undefined reference to `usb_set_interface' drivers/built-in.o: In function `dvb_stop_streaming': (.text+0x5ccfd2): undefined reference to `usb_kill_urb' drivers/built-in.o: In function `pm_fm_suspend': pd-radio.c:(.text+0x5cd3e2): undefined reference to `usb_set_interface' drivers/built-in.o: In function `poseidon_check_mode_radio': pd-radio.c:(.text+0x5cd522): undefined reference to `usb_set_interface' drivers/built-in.o: In function `poseidon_delete': (.text+0x5cdac4): undefined reference to `usb_put_dev' drivers/built-in.o: In function `poseidon_delete': (.text+0x5cdadd): undefined reference to `usb_put_intf' drivers/built-in.o: In function `pm_notifier_block': >> pd-main.c:(.text+0x5cdbd1): undefined reference to >> `usb_lock_device_for_reset' >> pd-main.c:(.text+0x5cdbdc): undefined reference to `usb_reset_device' drivers/built-in.o: In function `poseidon_probe': pd-main.c:(.text+0x5cde26): undefined reference to `usb_control_msg' pd-main.c:(.text+0x5cdf08): undefined reference to `usb_bulk_msg' pd-main.c:(.text+0x5cdfbf): undefined reference to `usb_put_dev' pd-main.c:(.text+0x5cdfca): undefined reference to `usb_put_intf' pd-main.c:(.text+0x5ce029): undefined reference to `usb_get_dev' pd-main.c:(.text+0x5ce037): undefined reference to `usb_get_intf' pd-main.c:(.text+0x5ce1a1): undefined reference to `usb_put_intf' pd-main.c:(.text+0x5ce1ac): undefined reference to `usb_put_dev' drivers/built-in.o: In function `send_set_req': (.text+0x5ce23c): undefined reference to `usb_control_msg' drivers/built-in.o: In function `send_get_req': (.text+0x5ce300): undefined reference to `usb_control_msg' drivers/built-in.o: In function `poseidon_init': pd-main.c:(.init.text+0x268f3): undefined reference to `usb_register_driver' drivers/built-in.o: In function `poseidon_exit': pd-main.c:(.exit.text+0x586d): undefined reference to `usb_deregister' --- 0-DAY kernel test infrastructureOpen Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation # # Automatically generated file; DO NOT EDIT. # Linux/i386 3.18.0-rc4 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y CONFIG_X86=y CONFIG_INSTR
pd-video.c:undefined reference to `usb_kill_urb'
tree: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 97bf6af1f928216fd6c5a66e8a57bfa95a659672 commit: ea2e813e8cc3492c951b9895724fd47187e04a6f [media] tlg2300: move to staging in preparation for removal date: 5 days ago config: x86_64-randconfig-a1-12220755 (attached as .config) reproduce: git checkout ea2e813e8cc3492c951b9895724fd47187e04a6f # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings: drivers/built-in.o: In function `usb_transfer_stop': >> pd-video.c:(.text+0xb3843f): undefined reference to `usb_kill_urb' drivers/built-in.o: In function `urb_complete_bulk': >> pd-video.c:(.text+0xb38a41): undefined reference to `usb_submit_urb' drivers/built-in.o: In function `urb_complete_iso': >> pd-video.c:(.text+0xb38f3d): undefined reference to `usb_submit_urb' drivers/built-in.o: In function `alloc_bulk_urbs_generic': >> (.text+0xb3936f): undefined reference to `usb_alloc_coherent' drivers/built-in.o: In function `alloc_bulk_urbs_generic': >> (.text+0xb393e7): undefined reference to `usb_alloc_urb' drivers/built-in.o: In function `alloc_bulk_urbs_generic': >> (.text+0xb3942c): undefined reference to `usb_free_urb' drivers/built-in.o: In function `start_video_stream': >> pd-video.c:(.text+0xb394ee): undefined reference to `usb_submit_urb' >> pd-video.c:(.text+0xb395d3): undefined reference to `usb_alloc_urb' >> pd-video.c:(.text+0xb39611): undefined reference to `usb_alloc_coherent' drivers/built-in.o: In function `free_all_urb_generic': >> (.text+0xb39955): undefined reference to `usb_free_coherent' drivers/built-in.o: In function `free_all_urb_generic': >> (.text+0xb3995d): undefined reference to `usb_free_urb' drivers/built-in.o: In function `pd_video_open': >> pd-video.c:(.text+0xb39e63): undefined reference to `usb_set_interface' drivers/built-in.o: In function `snd_pd_capture_trigger': >> pd-alsa.c:(.text+0xb3a602): undefined reference to `usb_submit_urb' drivers/built-in.o: In function `complete_handler_audio': >> pd-alsa.c:(.text+0xb3a919): undefined reference to `usb_submit_urb' drivers/built-in.o: In function `snd_pd_hw_capture_free': >> pd-alsa.c:(.text+0xb3aab9): undefined reference to `usb_kill_urb' drivers/built-in.o: In function `pd_start_feed': >> pd-dvb.c:(.text+0xb3b295): undefined reference to `usb_submit_urb' drivers/built-in.o: In function `dvb_urb_irq': >> pd-dvb.c:(.text+0xb3b449): undefined reference to `usb_submit_urb' drivers/built-in.o: In function `dvb_stop_streaming': >> (.text+0xb3bc84): undefined reference to `usb_kill_urb' drivers/built-in.o: In function `poseidon_ts_bus_ctrl': >> pd-dvb.c:(.text+0xb3bea2): undefined reference to `usb_set_interface' drivers/built-in.o: In function `poseidon_fm_open': >> pd-radio.c:(.text+0xb3ca2e): undefined reference to `usb_set_interface' drivers/built-in.o: In function `poseidon_delete': (.text+0xb3d046): undefined reference to `usb_put_dev' drivers/built-in.o: In function `poseidon_delete': --- 0-DAY kernel test infrastructureOpen Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation # # Automatically generated file; DO NOT EDIT. # Linux/x86_64 3.18.0-rc4 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y CONFIG_X86=y CONFIG_INSTRUCTION_DECODER=y CONFIG_OUTPUT_FORMAT="elf64-x86-64" CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_MMU=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y CONFIG_GENERIC_HWEIGHT=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_ARCH_HAS_CPU_RELAX=y CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y CONFIG_ARCH_WANT_GENERAL_HUGETLB=y CONFIG_ZONE_DMA32=y CONFIG_AUDIT_ARCH=y CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_X86_64_SMP=y CONFIG_X86_HT=y CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_EXTABLE_SORT=y # # General setup # CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_CROSS_COMPILE="" # CONFIG_COMPILE_TEST is not set CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION_AUTO=y CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_BZIP2=y CONFIG_HAVE_KERNEL_LZMA=y CONFIG_HAVE_KERNEL_XZ=y CONFIG_HAVE_KERNEL_LZO=y CONFIG_HAVE_KERNEL_LZ4=y # CONFIG_KERNEL_GZIP is not set # CONFIG_KERNEL_BZIP2
Re: [PATCH v2 12/13] ARM: dts: sun6i: Add sun6i-a31s.dtsi
On Sat, Dec 20, 2014 at 11:24:55AM +0100, Hans de Goede wrote: > Hi, > > On 19-12-14 19:34, Maxime Ripard wrote: > >On Wed, Dec 17, 2014 at 06:18:23PM +0100, Hans de Goede wrote: > >>Add a dtsi file for A31s based boards. > >> > >>Since the A31s is the same die as the A31 in a different package, this dtsi > >>simply includes sun6i-a31.dtsi and then overrides the pinctrl compatible to > >>reflect the different package, everything else is identical. > >> > >>Signed-off-by: Hans de Goede > >>--- > >>Changes in v2: > >>-include sun6i-a31.dtsi and override the pinctrl compatible, rather then > >> copying everything > >>--- > >> arch/arm/boot/dts/sun6i-a31s.dtsi | 62 > >> +++ > >> 1 file changed, 62 insertions(+) > >> create mode 100644 arch/arm/boot/dts/sun6i-a31s.dtsi > >> > >>diff --git a/arch/arm/boot/dts/sun6i-a31s.dtsi > >>b/arch/arm/boot/dts/sun6i-a31s.dtsi > >>new file mode 100644 > >>index 000..d0bd2b9 > >>--- /dev/null > >>+++ b/arch/arm/boot/dts/sun6i-a31s.dtsi > >>@@ -0,0 +1,62 @@ > >>+/* > >>+ * Copyright 2014 Hans de Goede > >>+ * > >>+ * This file is dual-licensed: you can use it either under the terms > >>+ * of the GPL or the X11 license, at your option. Note that this dual > >>+ * licensing only applies to this file, and not this project as a > >>+ * whole. > >>+ * > >>+ * a) This library 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 library 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. > >>+ * > >>+ * You should have received a copy of the GNU General Public > >>+ * License along with this library; if not, write to the Free > >>+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, > >>+ * MA 02110-1301 USA > >>+ * > >>+ * Or, alternatively, > >>+ * > >>+ * b) Permission is hereby granted, free of charge, to any person > >>+ * obtaining a copy of this software and associated documentation > >>+ * files (the "Software"), to deal in the Software without > >>+ * restriction, including without limitation the rights to use, > >>+ * copy, modify, merge, publish, distribute, sublicense, and/or > >>+ * sell copies of the Software, and to permit persons to whom the > >>+ * Software is furnished to do so, subject to the following > >>+ * conditions: > >>+ * > >>+ * The above copyright notice and this permission notice shall be > >>+ * included in all copies or substantial portions of the Software. > >>+ * > >>+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, > >>+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES > >>+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND > >>+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT > >>+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, > >>+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING > >>+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR > >>+ * OTHER DEALINGS IN THE SOFTWARE. > >>+ */ > >>+ > >>+/* > >>+ * The A31s is the same die as the A31 in a different package, this is > >>+ * reflected by it having different pinctrl compatible everything else is > >>+ * identical. > >>+ */ > >>+ > >>+/include/ "sun6i-a31.dtsi" > >>+ > >>+/ { > >>+ soc@01c0 { > >>+ pio: pinctrl@01c20800 { > >>+ compatible = "allwinner,sun6i-a31s-pinctrl"; > >>+ }; > >>+ }; > >>+}; > > > >Given your previous changes, you should also update the enable-method. > > I've not added a new compatible for the enable-method, given that > this is the exact same die, so the 2 are 100?% compatible, just like you > insisted that "allwinner,sun4i-a10-mod0-clk" should be used for the ir-clk > since it was 100% compatible to that I believe that the enable method > should use the existing compatible and not invent a new one for something > which is 100% compatible. Yeah, you have a point and I agree, but your patch 3 does add a CPU_METHOD_OF_DECLARE for the A31s. Since I was going to push the branch now that 3.19-rc1 is out, do you want me to edit your patch before doing so? > >Also, for this patch and the next one, Arnd just warned me that we > >shouldn't duplicate the DT path, and that we should switch to the new > >trend on using label references (like what TI or Amlogic does for > >example). > > Ok, so something like this, right ? : > > &pio { > compatible = "allwinner,sun6i-a31s-pinctrl"; > }; Yep. Thanks! Maxime -- Maxime Ripard, Free Electrons Em
Re: [PATCH 0/3] Deprecate drivers
On Friday 12 December 2014 15:32:35 Hans Verkuil wrote: > On 12/12/2014 03:29 PM, Ondrej Zary wrote: > > On Wednesday 10 December 2014, Hans Verkuil wrote: > >> On 12/02/14 23:42, Ondrej Zary wrote: > >>> On Tuesday 02 December 2014 16:40:30 Hans Verkuil wrote: > This patch series deprecates the vino/saa7191 video driver (ancient > SGI Indy computer), the parallel port webcams bw-qcam, c-qcam and > w9966, the ISA video capture driver pms and the USB video capture > tlg2300 driver. > > Hardware for these devices is next to impossible to obtain, these > drivers haven't seen any development in ages, they often use > deprecated APIs and without hardware that's very difficult to port. > And cheap alternative products are easily available today. > >>> > >>> Just bought a QuickCam Pro parallel and some unknown parallel port > >>> webcam. Will you accept patches? :) > >> > >> OK, so there is some confusion here. You aren't offering to work on any > >> of the deprecated drivers, are you? > >> > >> I'm sure you meant this email as a joke, but before the drivers are > >> deprecated it is good to get that confirmed. > > > > (Sorry for the delay, I somehow missed this e-mail.) > > > > I'll try to fix c-qcam driver (I suppose that it should work with > > QuickCam Pro). The webcams are still on the way so I don't know what's > > inside the unknown one. > > I'm pretty sure the QuickCam Pro won't work with the c-qcam driver, but > I'll postpone moving these drivers to staging for the moment. The cameras arrived and you were right: QuickCam Pro really does not work with c-qcam driver. The protocol is probably completely different. The camera supports PnP (Windows detects it and it's visible in Device Manager). According to some web pages, the protocol should be similar to QuickCam VC (available with parallel or USB port). There is a qcamvc out-of-tree driver for that (even updated last year) but support for QuickCam Pro is missing. Maybe it wouldn't be hard to add it. The other camera is marked "Rookey Z" and is probably the same as "Todai TDC-01". It works in Windows 98 with wcah204e.exe software (probably 16-bit). There's no PnP support (Windows does not detect any device). Almost all chips inside are made by NEC, the biggest one is marked "CAME3". This one probably never worked with Linux. -- Ondrej Zary -- 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] cx23885: Split Hauppauge WinTV Starburst from HVR4400 card entry
Works now media: Linux media interface: v0.10 Linux video capture interface: v2.00 cx23885 driver version 0.0.4 loaded CORE cx23885[0]: subsystem: 0070:c12a, board: Hauppauge WinTV Starburst [card=52,autodetected] tveeprom 5-0050: Hauppauge model 121200, rev B2C3, serial# 4034388477 tveeprom 5-0050: MAC address is 00:0d:fe:77:e1:fd tveeprom 5-0050: tuner model is Conexant CX24118A (idx 123, type 4) tveeprom 5-0050: TV standards ATSC/DVB Digital (eeprom 0x80) tveeprom 5-0050: audio processor is CX23888 (idx 40) tveeprom 5-0050: decoder processor is CX23888 (idx 34) tveeprom 5-0050: has no radio, has IR receiver, has no IR transmitter cx23885[0]: warning: unknown hauppauge model #121200 cx23885[0]: hauppauge eeprom: model=121200 cx23885_dvb_register() allocating 1 frontend(s) cx23885[0]: cx23885 based dvb card i2c i2c-5: a8293: Allegro A8293 SEC attached DVB: registering new adapter (cx23885[0]) cx23885 :02:00.0: DVB: registering adapter 0 frontend 0 (NXP TDA10071)... cx23885_dev_checkrevision() Hardware revision = 0xd0 cx23885[0]/0: found at :02:00.0, rev: 4, irq: 18, latency: 0, mmio: 0xfe80 Tested-by: Antti Palosaari Antti On 12/21/2014 09:59 PM, Matthias Schwarzott wrote: Unconditionally attaching Si2161/Si2165 demod driver breaks Hauppauge WinTV Starburst. So create own card entry for this. Add card name comments to the subsystem ids. Signed-off-by: Matthias Schwarzott --- drivers/media/pci/cx23885/cx23885-cards.c | 23 +-- drivers/media/pci/cx23885/cx23885-dvb.c | 11 +++ drivers/media/pci/cx23885/cx23885.h | 1 + 3 files changed, 29 insertions(+), 6 deletions(-) diff --git a/drivers/media/pci/cx23885/cx23885-cards.c b/drivers/media/pci/cx23885/cx23885-cards.c index db99ca2..06931f6 100644 --- a/drivers/media/pci/cx23885/cx23885-cards.c +++ b/drivers/media/pci/cx23885/cx23885-cards.c @@ -614,7 +614,7 @@ struct cx23885_board cx23885_boards[] = { .portb = CX23885_MPEG_DVB, }, [CX23885_BOARD_HAUPPAUGE_HVR4400] = { - .name = "Hauppauge WinTV-HVR4400", + .name = "Hauppauge WinTV-HVR4400/HVR5500", .porta = CX23885_ANALOG_VIDEO, .portb = CX23885_MPEG_DVB, .portc = CX23885_MPEG_DVB, @@ -622,6 +622,10 @@ struct cx23885_board cx23885_boards[] = { .tuner_addr = 0x60, /* 0xc0 >> 1 */ .tuner_bus = 1, }, + [CX23885_BOARD_HAUPPAUGE_STARBURST] = { + .name = "Hauppauge WinTV Starburst", + .portb = CX23885_MPEG_DVB, + }, [CX23885_BOARD_AVERMEDIA_HC81R] = { .name = "AVerTV Hybrid Express Slim HC81R", .tuner_type = TUNER_XC2028, @@ -936,19 +940,19 @@ struct cx23885_subid cx23885_subids[] = { }, { .subvendor = 0x0070, .subdevice = 0xc108, - .card = CX23885_BOARD_HAUPPAUGE_HVR4400, + .card = CX23885_BOARD_HAUPPAUGE_HVR4400, /* Hauppauge WinTV HVR-4400 (Model 121xxx, Hybrid DVB-T/S2, IR) */ }, { .subvendor = 0x0070, .subdevice = 0xc138, - .card = CX23885_BOARD_HAUPPAUGE_HVR4400, + .card = CX23885_BOARD_HAUPPAUGE_HVR4400, /* Hauppauge WinTV HVR-5500 (Model 121xxx, Hybrid DVB-T/C/S2, IR) */ }, { .subvendor = 0x0070, .subdevice = 0xc12a, - .card = CX23885_BOARD_HAUPPAUGE_HVR4400, + .card = CX23885_BOARD_HAUPPAUGE_STARBURST, /* Hauppauge WinTV Starburst (Model 121x00, DVB-S2, IR) */ }, { .subvendor = 0x0070, .subdevice = 0xc1f8, - .card = CX23885_BOARD_HAUPPAUGE_HVR4400, + .card = CX23885_BOARD_HAUPPAUGE_HVR4400, /* Hauppauge WinTV HVR-5500 (Model 121xxx, Hybrid DVB-T/C/S2, IR) */ }, { .subvendor = 0x1461, .subdevice = 0xd939, @@ -1545,8 +1549,9 @@ void cx23885_gpio_setup(struct cx23885_dev *dev) cx_write(GPIO_ISM, 0x);/* INTERRUPTS active low*/ break; case CX23885_BOARD_HAUPPAUGE_HVR4400: + case CX23885_BOARD_HAUPPAUGE_STARBURST: /* GPIO-8 tda10071 demod reset */ - /* GPIO-9 si2165 demod reset */ + /* GPIO-9 si2165 demod reset (only HVR4400/HVR5500)*/ /* Put the parts into reset and back */ cx23885_gpio_enable(dev, GPIO_8 | GPIO_9, 1); @@ -1872,6 +1877,7 @@ void cx23885_card_setup(struct cx23885_dev *dev) case CX23885_BOARD_HAUPPAUGE_HVR1850: case CX23885_BOARD_HAUPPAUGE_HVR1290: case CX23885_BOARD_HAUPPAUGE_HVR4400: + case CX23885_BOARD_HAUPPAUGE_STARBURST: case CX23885_BOARD_HAUPPAUGE_IMPACTVCBE: if (dev
Re: [PATCH] cx23885: Split Hauppauge WinTV Starburst from HVR4400 card entry
Hi! Should the commit message directly point to the breaking commit 36efec48e2e6016e05364906720a0ec350a5d768? This commit hopefully reverts the problematic attach for the Starburst card. I kept the GPIO-part in common, but I can split this also if necessary. Regards Matthias -- 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] cx23885: Split Hauppauge WinTV Starburst from HVR4400 card entry
Unconditionally attaching Si2161/Si2165 demod driver breaks Hauppauge WinTV Starburst. So create own card entry for this. Add card name comments to the subsystem ids. Signed-off-by: Matthias Schwarzott --- drivers/media/pci/cx23885/cx23885-cards.c | 23 +-- drivers/media/pci/cx23885/cx23885-dvb.c | 11 +++ drivers/media/pci/cx23885/cx23885.h | 1 + 3 files changed, 29 insertions(+), 6 deletions(-) diff --git a/drivers/media/pci/cx23885/cx23885-cards.c b/drivers/media/pci/cx23885/cx23885-cards.c index db99ca2..06931f6 100644 --- a/drivers/media/pci/cx23885/cx23885-cards.c +++ b/drivers/media/pci/cx23885/cx23885-cards.c @@ -614,7 +614,7 @@ struct cx23885_board cx23885_boards[] = { .portb = CX23885_MPEG_DVB, }, [CX23885_BOARD_HAUPPAUGE_HVR4400] = { - .name = "Hauppauge WinTV-HVR4400", + .name = "Hauppauge WinTV-HVR4400/HVR5500", .porta = CX23885_ANALOG_VIDEO, .portb = CX23885_MPEG_DVB, .portc = CX23885_MPEG_DVB, @@ -622,6 +622,10 @@ struct cx23885_board cx23885_boards[] = { .tuner_addr = 0x60, /* 0xc0 >> 1 */ .tuner_bus = 1, }, + [CX23885_BOARD_HAUPPAUGE_STARBURST] = { + .name = "Hauppauge WinTV Starburst", + .portb = CX23885_MPEG_DVB, + }, [CX23885_BOARD_AVERMEDIA_HC81R] = { .name = "AVerTV Hybrid Express Slim HC81R", .tuner_type = TUNER_XC2028, @@ -936,19 +940,19 @@ struct cx23885_subid cx23885_subids[] = { }, { .subvendor = 0x0070, .subdevice = 0xc108, - .card = CX23885_BOARD_HAUPPAUGE_HVR4400, + .card = CX23885_BOARD_HAUPPAUGE_HVR4400, /* Hauppauge WinTV HVR-4400 (Model 121xxx, Hybrid DVB-T/S2, IR) */ }, { .subvendor = 0x0070, .subdevice = 0xc138, - .card = CX23885_BOARD_HAUPPAUGE_HVR4400, + .card = CX23885_BOARD_HAUPPAUGE_HVR4400, /* Hauppauge WinTV HVR-5500 (Model 121xxx, Hybrid DVB-T/C/S2, IR) */ }, { .subvendor = 0x0070, .subdevice = 0xc12a, - .card = CX23885_BOARD_HAUPPAUGE_HVR4400, + .card = CX23885_BOARD_HAUPPAUGE_STARBURST, /* Hauppauge WinTV Starburst (Model 121x00, DVB-S2, IR) */ }, { .subvendor = 0x0070, .subdevice = 0xc1f8, - .card = CX23885_BOARD_HAUPPAUGE_HVR4400, + .card = CX23885_BOARD_HAUPPAUGE_HVR4400, /* Hauppauge WinTV HVR-5500 (Model 121xxx, Hybrid DVB-T/C/S2, IR) */ }, { .subvendor = 0x1461, .subdevice = 0xd939, @@ -1545,8 +1549,9 @@ void cx23885_gpio_setup(struct cx23885_dev *dev) cx_write(GPIO_ISM, 0x);/* INTERRUPTS active low*/ break; case CX23885_BOARD_HAUPPAUGE_HVR4400: + case CX23885_BOARD_HAUPPAUGE_STARBURST: /* GPIO-8 tda10071 demod reset */ - /* GPIO-9 si2165 demod reset */ + /* GPIO-9 si2165 demod reset (only HVR4400/HVR5500)*/ /* Put the parts into reset and back */ cx23885_gpio_enable(dev, GPIO_8 | GPIO_9, 1); @@ -1872,6 +1877,7 @@ void cx23885_card_setup(struct cx23885_dev *dev) case CX23885_BOARD_HAUPPAUGE_HVR1850: case CX23885_BOARD_HAUPPAUGE_HVR1290: case CX23885_BOARD_HAUPPAUGE_HVR4400: + case CX23885_BOARD_HAUPPAUGE_STARBURST: case CX23885_BOARD_HAUPPAUGE_IMPACTVCBE: if (dev->i2c_bus[0].i2c_rc == 0) hauppauge_eeprom(dev, eeprom+0xc0); @@ -1980,6 +1986,11 @@ void cx23885_card_setup(struct cx23885_dev *dev) ts2->ts_clk_en_val = 0x1; /* Enable TS_CLK */ ts2->src_sel_val = CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO; break; + case CX23885_BOARD_HAUPPAUGE_STARBURST: + ts1->gen_ctrl_val = 0xc; /* Serial bus + punctured clock */ + ts1->ts_clk_en_val = 0x1; /* Enable TS_CLK */ + ts1->src_sel_val = CX23885_SRC_SEL_PARALLEL_MPEG_VIDEO; + break; case CX23885_BOARD_DVBSKY_T9580: case CX23885_BOARD_DVBSKY_T982: ts1->gen_ctrl_val = 0x5; /* Parallel */ diff --git a/drivers/media/pci/cx23885/cx23885-dvb.c b/drivers/media/pci/cx23885/cx23885-dvb.c index c47d182..a9c450d 100644 --- a/drivers/media/pci/cx23885/cx23885-dvb.c +++ b/drivers/media/pci/cx23885/cx23885-dvb.c @@ -1710,6 +1710,17 @@ static int dvb_register(struct cx23885_tsport *port) break; } break; + case CX23885_BOARD_HAUPPAUGE_STARBURST: + i2c_bus = &dev->i2c_bus[0]; + fe0->dvb.
Re: cx23885: Add si2165 support for HVR-5500
On 12/21/2014 09:23 PM, Matthias Schwarzott wrote: On 20.12.2014 16:31, Antti Palosaari wrote: Matthias and Mauro, Hi Antti, meanwhile HVR-4400 has been tested by multiple people. And it works rather good for DVB-T. My board has only satellite support, no terrestrial nor satellite. Even all those errors, it still creates frontend - and it even likely works, I didn't tested. But as you likely saw from the messages, it prints any IO errors as registering terrestrial or cable frontend failed, because of missing chips. And module reference counts went wrong as unloading modules is impossible. so you decided to add that patch, which makes rather big changes for existing HVR-4400 models, without any testing. I plugged HVR-4400 version that has only DVB-S2 in my machine in order to start finding out one lockdep issue but what I see is bad HVR-4400. I checked that all known HVR-4400 and HVR-5500 versions have a Si2161/Si2165 chip. I checked your subsystem id 0070:c12a. In windows inf file it is listed as "Hauppauge WinTV Starburst (Model 121x00, DVB-S2, IR)". But this subsystem id is also part of the HVR-4400 entry (as is HVR-5500). So I rechecked the HVR4400 entry. It points to these subsys ids (plus description from inf file): * 0070:c108 "Hauppauge WinTV HVR-4400 (Model 121xxx, Hybrid DVB-T/S2, IR)" * 0070:c138 "Hauppauge WinTV HVR-5500 (Model 121xxx, Hybrid DVB-T/C/S2, IR)" * 0070:c1f8 "Hauppauge WinTV HVR-5500 (Model 121xxx, Hybrid DVB-T/C/S2, IR)" * 0070:c12a "Hauppauge WinTV Starburst (Model 121x00, DVB-S2, IR)" My board is that Starburst. All those others, 4400 and 5500 models, are hybrid containing two receivers. Due to that, Starburst is only one which is broken. I would also criticize Mauro as he has committed that patch. It should be obvious for every experienced media developer that this kind of not trivial change needs some more careful review or testing. That patch should be done differently, not blindly trying to attach chip drivers for non-existent chips. I think correct solution is to detect different HW models somehow, probing or reading from eeprom or so. Then make 2 profiles, one for boards having both satellite and terristrial/cable and one for boards having satellite only. As can be seen above it should be possible to decide by checking the subsys id. So having two board entries should be the best solution. One for HVR-4400/HVR-5500 and the other for the Starburst. regards Antti -- http://palosaari.fi/ -- 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: cx23885: Add si2165 support for HVR-5500
On 20.12.2014 16:31, Antti Palosaari wrote: > Matthias and Mauro, Hi Antti, meanwhile HVR-4400 has been tested by multiple people. And it works rather good for DVB-T. > so you decided to add that patch, which makes rather big changes for > existing HVR-4400 models, without any testing. I plugged HVR-4400 > version that has only DVB-S2 in my machine in order to start finding out > one lockdep issue but what I see is bad HVR-4400. I checked that all known HVR-4400 and HVR-5500 versions have a Si2161/Si2165 chip. I checked your subsystem id 0070:c12a. In windows inf file it is listed as "Hauppauge WinTV Starburst (Model 121x00, DVB-S2, IR)". But this subsystem id is also part of the HVR-4400 entry (as is HVR-5500). So I rechecked the HVR4400 entry. It points to these subsys ids (plus description from inf file): * 0070:c108 "Hauppauge WinTV HVR-4400 (Model 121xxx, Hybrid DVB-T/S2, IR)" * 0070:c138 "Hauppauge WinTV HVR-5500 (Model 121xxx, Hybrid DVB-T/C/S2, IR)" * 0070:c1f8 "Hauppauge WinTV HVR-5500 (Model 121xxx, Hybrid DVB-T/C/S2, IR)" * 0070:c12a "Hauppauge WinTV Starburst (Model 121x00, DVB-S2, IR)" > > I would also criticize Mauro as he has committed that patch. It should > be obvious for every experienced media developer that this kind of not > trivial change needs some more careful review or testing. > > That patch should be done differently, not blindly trying to attach chip > drivers for non-existent chips. I think correct solution is to detect > different HW models somehow, probing or reading from eeprom or so. Then > make 2 profiles, one for boards having both satellite and > terristrial/cable and one for boards having satellite only. > As can be seen above it should be possible to decide by checking the subsys id. So having two board entries should be the best solution. One for HVR-4400/HVR-5500 and the other for the Starburst. Regards Matthias -- 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/8] Fix issues in em28xx
Am 20.12.2014 um 13:44 schrieb Russell King - ARM Linux: > While testing a PCTV tripleSTICK 292e, a couple of issues were > discovered. Firstly, disconnecting the device causes a lockdep > splat, which is addressed in the first patch. > > Secondly, a number of kernel messages are missing their terminating > newline characters, and these are spread over a range of commits and > a range of kernel versions. Therefore, I've split the fixes up by > offending commit, which should make backporting to stable trees > easier. (Some need to be applied to 3.14 and on, some to 3.15 and on, > etc.) > > It isn't clear who is the maintainer for this driver; there is no > MAINTAINERS entry. If there is a maintainer, please ensure that they > add themselves to this critical file. Thanks. > > drivers/media/usb/em28xx/em28xx-audio.c | 8 > drivers/media/usb/em28xx/em28xx-core.c | 4 ++-- > drivers/media/usb/em28xx/em28xx-dvb.c | 14 +++--- > drivers/media/usb/em28xx/em28xx-input.c | 9 - > drivers/media/usb/em28xx/em28xx-video.c | 6 +++--- > 5 files changed, 20 insertions(+), 21 deletions(-) Reviewed-by: Frank Schäfer -- 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/8] [media] em28xx: fix em28xx-input removal
Am 20.12.2014 um 15:51 schrieb Russell King - ARM Linux: > On Sat, Dec 20, 2014 at 03:11:54PM +0100, Frank Schäfer wrote: >> Hi Russel, > I guess you won't mind if I mis-spell your name too... Wow... it seems to be very easy to offend you... Sorry, that was definitely not my intention. I did not do this on purpose. It was just a simple mistake and I will try to avoid it in the future. > >> I'd prefer to keep the button initialization related stuff together in >> em28xx_init_buttons() and do the cancel_delayed_work_sync() only if we >> have buttons (dev->num_button_polling_addresses). >> That's how we already do it with the IR work struct (see >> em28xx_ir_suspend()). > Provided all places that touch buttons_query_work are properly updated > that's fine, but to me that is fragile and asking for trouble. It's far > better to ensure that everything is properly initialised so you don't > have to remember to conditionalise every single reference to a work > struct. > > In any case, delayed work struct initialisation is cheap - it doesn't > involve any additional memory, it only initialises the various members > of the struct (and the lockdep information for the static key) so there > really is no argument against always initialising delayed works or normal > works, timers, etc to avoid these kinds of bugs. Fair enough ! Regards, Frank Schäfer -- 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: pci: solo6x10: solo6x10-enc.c: Remove unused function
Remove the function solo_s_jpeg_qp() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist --- drivers/media/pci/solo6x10/solo6x10-enc.c | 35 - drivers/media/pci/solo6x10/solo6x10.h |2 -- 2 files changed, 37 deletions(-) diff --git a/drivers/media/pci/solo6x10/solo6x10-enc.c b/drivers/media/pci/solo6x10/solo6x10-enc.c index d19c0ae..6b589b8 100644 --- a/drivers/media/pci/solo6x10/solo6x10-enc.c +++ b/drivers/media/pci/solo6x10/solo6x10-enc.c @@ -175,41 +175,6 @@ out: return 0; } -/** - * Set channel Quality Profile (0-3). - */ -void solo_s_jpeg_qp(struct solo_dev *solo_dev, unsigned int ch, - unsigned int qp) -{ - unsigned long flags; - unsigned int idx, reg; - - if ((ch > 31) || (qp > 3)) - return; - - if (solo_dev->type == SOLO_DEV_6010) - return; - - if (ch < 16) { - idx = 0; - reg = SOLO_VE_JPEG_QP_CH_L; - } else { - ch -= 16; - idx = 1; - reg = SOLO_VE_JPEG_QP_CH_H; - } - ch *= 2; - - spin_lock_irqsave(&solo_dev->jpeg_qp_lock, flags); - - solo_dev->jpeg_qp[idx] &= ~(3 << ch); - solo_dev->jpeg_qp[idx] |= (qp & 3) << ch; - - solo_reg_write(solo_dev, reg, solo_dev->jpeg_qp[idx]); - - spin_unlock_irqrestore(&solo_dev->jpeg_qp_lock, flags); -} - int solo_g_jpeg_qp(struct solo_dev *solo_dev, unsigned int ch) { int idx; diff --git a/drivers/media/pci/solo6x10/solo6x10.h b/drivers/media/pci/solo6x10/solo6x10.h index 72017b7..ad5afc6 100644 --- a/drivers/media/pci/solo6x10/solo6x10.h +++ b/drivers/media/pci/solo6x10/solo6x10.h @@ -399,8 +399,6 @@ int solo_eeprom_write(struct solo_dev *solo_dev, int loc, __be16 data); /* JPEG Qp functions */ -void solo_s_jpeg_qp(struct solo_dev *solo_dev, unsigned int ch, - unsigned int qp); int solo_g_jpeg_qp(struct solo_dev *solo_dev, unsigned int ch); #define CHK_FLAGS(v, flags) (((v) & (flags)) == (flags)) -- 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
ERROR: "usb_kill_urb" [drivers/staging/media/tlg2300/poseidon.ko] undefined!
tree: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 97bf6af1f928216fd6c5a66e8a57bfa95a659672 commit: ea2e813e8cc3492c951b9895724fd47187e04a6f [media] tlg2300: move to staging in preparation for removal date: 5 days ago config: x86_64-randconfig-a0-12212206 (attached as .config) reproduce: git checkout ea2e813e8cc3492c951b9895724fd47187e04a6f # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings: >> ERROR: "usb_kill_urb" [drivers/staging/media/tlg2300/poseidon.ko] undefined! >> ERROR: "usb_deregister" [drivers/staging/media/tlg2300/poseidon.ko] >> undefined! >> ERROR: "usb_set_interface" [drivers/staging/media/tlg2300/poseidon.ko] >> undefined! >> ERROR: "usb_control_msg" [drivers/staging/media/tlg2300/poseidon.ko] >> undefined! >> ERROR: "usb_free_coherent" [drivers/staging/media/tlg2300/poseidon.ko] >> undefined! >> ERROR: "usb_submit_urb" [drivers/staging/media/tlg2300/poseidon.ko] >> undefined! >> ERROR: "usb_get_dev" [drivers/staging/media/tlg2300/poseidon.ko] undefined! >> ERROR: "usb_bulk_msg" [drivers/staging/media/tlg2300/poseidon.ko] undefined! >> ERROR: "usb_put_dev" [drivers/staging/media/tlg2300/poseidon.ko] undefined! >> ERROR: "usb_get_intf" [drivers/staging/media/tlg2300/poseidon.ko] undefined! >> ERROR: "usb_register_driver" [drivers/staging/media/tlg2300/poseidon.ko] >> undefined! >> ERROR: "usb_alloc_coherent" [drivers/staging/media/tlg2300/poseidon.ko] >> undefined! >> ERROR: "usb_free_urb" [drivers/staging/media/tlg2300/poseidon.ko] undefined! >> ERROR: "usb_alloc_urb" [drivers/staging/media/tlg2300/poseidon.ko] undefined! >> ERROR: "usb_put_intf" [drivers/staging/media/tlg2300/poseidon.ko] undefined! --- 0-DAY kernel test infrastructureOpen Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation # # Automatically generated file; DO NOT EDIT. # Linux/x86_64 3.18.0-rc4 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y CONFIG_X86=y CONFIG_INSTRUCTION_DECODER=y CONFIG_OUTPUT_FORMAT="elf64-x86-64" CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_MMU=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y CONFIG_GENERIC_HWEIGHT=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_ARCH_HAS_CPU_RELAX=y CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y CONFIG_ARCH_WANT_GENERAL_HUGETLB=y CONFIG_ZONE_DMA32=y CONFIG_AUDIT_ARCH=y CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_X86_64_SMP=y CONFIG_X86_HT=y CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" CONFIG_CONSTRUCTORS=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_EXTABLE_SORT=y # # General setup # CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_CROSS_COMPILE="" # CONFIG_COMPILE_TEST is not set CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION_AUTO=y CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_BZIP2=y CONFIG_HAVE_KERNEL_LZMA=y CONFIG_HAVE_KERNEL_XZ=y CONFIG_HAVE_KERNEL_LZO=y CONFIG_HAVE_KERNEL_LZ4=y # CONFIG_KERNEL_GZIP is not set # CONFIG_KERNEL_BZIP2 is not set # CONFIG_KERNEL_LZMA is not set CONFIG_KERNEL_XZ=y # CONFIG_KERNEL_LZO is not set # CONFIG_KERNEL_LZ4 is not set CONFIG_DEFAULT_HOSTNAME="(none)" # CONFIG_SYSVIPC is not set # CONFIG_POSIX_MQUEUE is not set CONFIG_CROSS_MEMORY_ATTACH=y # CONFIG_FHANDLE is not set # CONFIG_USELIB is not set # CONFIG_AUDIT is not set CONFIG_HAVE_ARCH_AUDITSYSCALL=y # # IRQ subsystem # CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_IRQ_LEGACY_ALLOC_HWIRQ=y CONFIG_GENERIC_PENDING_IRQ=y CONFIG_IRQ_DOMAIN=y # CONFIG_IRQ_DOMAIN_DEBUG is not set CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_ARCH_CLOCKSOURCE_DATA=y CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y CONFIG_GENERIC_CMOS_UPDATE=y # # Timers subsystem # CONFIG_TICK_ONESHOT=y CONFIG_HZ_PERIODIC=y # CONFIG_NO_HZ_IDLE is not set # CONFIG_NO_HZ_FULL is not set CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y # # CPU/Task time and stats accounting # CONFIG_VIRT_CPU_ACCOUNTING=y # CONFIG_TICK_CPU_ACCOUNTING is not set CONFIG_VIRT_CPU_ACCOUNTING_GEN=y # CONFIG_IRQ_TIME_ACCOUNTING is not set CONFIG_BSD_PROCESS_ACCT=y # CONFIG_BSD_PROCESS_ACCT_V3 is not set # CONFIG_TASKSTAT
[PATCH] media: radio: wl128x: fmdrv_rx.c: Remove unused function
Remove the function fm_rx_get_rds_system() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist --- drivers/media/radio/wl128x/fmdrv_rx.c | 16 drivers/media/radio/wl128x/fmdrv_rx.h |1 - 2 files changed, 17 deletions(-) diff --git a/drivers/media/radio/wl128x/fmdrv_rx.c b/drivers/media/radio/wl128x/fmdrv_rx.c index 09632cb..cfaeb24 100644 --- a/drivers/media/radio/wl128x/fmdrv_rx.c +++ b/drivers/media/radio/wl128x/fmdrv_rx.c @@ -785,22 +785,6 @@ int fm_rx_set_rds_system(struct fmdev *fmdev, u8 rds_mode) return 0; } -/* Returns current RDS operation mode */ -int fm_rx_get_rds_system(struct fmdev *fmdev, u8 *rds_mode) -{ - if (fmdev->curr_fmmode != FM_MODE_RX) - return -EPERM; - - if (rds_mode == NULL) { - fmerr("Invalid memory\n"); - return -ENOMEM; - } - - *rds_mode = fmdev->rx.rds_mode; - - return 0; -} - /* Configures Alternate Frequency switch mode */ int fm_rx_set_af_switch(struct fmdev *fmdev, u8 af_mode) { diff --git a/drivers/media/radio/wl128x/fmdrv_rx.h b/drivers/media/radio/wl128x/fmdrv_rx.h index 32add81..2392218 100644 --- a/drivers/media/radio/wl128x/fmdrv_rx.h +++ b/drivers/media/radio/wl128x/fmdrv_rx.h @@ -40,7 +40,6 @@ void fm_rx_reset_station_info(struct fmdev *); int fm_rx_seek(struct fmdev *, u32, u32, u32); int fm_rx_get_rds_mode(struct fmdev *, u8 *); -int fm_rx_get_rds_system(struct fmdev *, u8 *); int fm_rx_get_mute_mode(struct fmdev *, u8 *); int fm_rx_get_volume(struct fmdev *, u16 *); int fm_rx_get_band_freq_range(struct fmdev *, -- 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: [RFC][PATCH] mn88472: add support for the mn88473 demod
Moikka! On 12/21/2014 02:06 AM, Benjamin Larsson wrote: This is what mn88473 support in the mn88472 demod driver could look like. The code is untested but will look similar in the final version. It is also possible to let the driver figure out the demod version from the 0xff register. Then the users would not need to set that parameter. Same goes to the xtal parameter. So does the mn88473 support look ok and should the driver figure out what demod is connected ? You patch looks rather good and these drivers should be merged to one if possible, lets say registers are 80% same or something like that. Looks like those are. About detecting the chip type. Prefer always detecting automatically be reading the chip id. Second best way is to use device ID for that: static const struct i2c_device_id mn88472_id_table[] = { {"mn88472", 0}, {"mn88473", 1}, {} Put the xtal/clock freq to config struct or use clock framework for it (maybe too heavy solution). regards Antti -- http://palosaari.fi/ -- 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