From patchwork Mon Jul 30 20:46:34 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mauro Carvalho Chehab X-Patchwork-Id: 1256601 Return-Path: X-Original-To: patchwork-linux-media@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id B78A540AC0 for ; Mon, 30 Jul 2012 20:46:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755238Ab2G3Uqs (ORCPT ); Mon, 30 Jul 2012 16:46:48 -0400 Received: from mx1.redhat.com ([209.132.183.28]:31977 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755188Ab2G3Uqo (ORCPT ); Mon, 30 Jul 2012 16:46:44 -0400 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q6UKkb4M023793 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 30 Jul 2012 16:46:37 -0400 Received: from [10.97.5.109] (vpn1-5-109.gru2.redhat.com [10.97.5.109]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q6UKkYRd023189 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Mon, 30 Jul 2012 16:46:36 -0400 Message-ID: <5016F2AA.9000602@redhat.com> Date: Mon, 30 Jul 2012 17:46:34 -0300 From: Mauro Carvalho Chehab User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120717 Thunderbird/14.0 MIME-Version: 1.0 To: Antti Palosaari CC: linux-media Subject: Re: [GIT PULL FOR v3.6] DVB USB v2 References: <4FF19D3C.6070506@iki.fi> <4FF36865.1090808@iki.fi> <4FF7651A.7020907@redhat.com> <4FFB27D1.9070204@iki.fi> In-Reply-To: <4FFB27D1.9070204@iki.fi> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Em 09-07-2012 15:49, Antti Palosaari escreveu: > On 07/07/2012 01:22 AM, Mauro Carvalho Chehab wrote: >> Em 03-07-2012 18:47, Antti Palosaari escreveu: >>> On 07/02/2012 04:08 PM, Antti Palosaari wrote: >>>> Here it is finally - quite totally rewritten DVB-USB-framework. I >>>> haven't got almost any feedback so far... >>> >>> I rebased it in order to fix compilation issues coming from Kconfig. >>> >>> >>>> regards >>>> Antti >>>> >>>> >>>> The following changes since commit >>>> 6887a4131da3adaab011613776d865f4bcfb5678: >>>> >>>> Linux 3.5-rc5 (2012-06-30 16:08:57 -0700) >>>> >>>> are available in the git repository at: >>>> >>>> git://linuxtv.org/anttip/media_tree.git dvb_usb_pull >>>> >>>> for you to fetch changes up to 747abaa1e0ee4415e67026c119cb73e6277f4898: >>>> >>>> dvb_usb_v2: remove usb_clear_halt() from stream (2012-07-02 15:54:29 >>>> +0300) >>>> >>>> ---------------------------------------------------------------- >>>> Antti Palosaari (103): >>>> dvb_usb_v2: copy current dvb_usb as a starting point >> >> Naming the DVB USB v2 as dvb_usb, instead of dvb-usb is very very ugly. >> It took me some time to discover what happened. >> >> You should have named it as dvb-usb-v2 instead, or to store it into >> a separate directory. >> >> This is even worse as it seems that this series doesn't change all >> drivers to use dvb usb v2. So, it will be harder to discover what >> drivers are at V1 and what are at V2. >> >> I won't merge it as-is at staging/for_v3.6. I may eventually create >> a separate topic branch and add them there, while the namespace mess >> is not corrected, if I still have some time today. Otherwise, I'll only >> handle that after returning from vacations. > > I moved it to the dvb-usb-v2 directory. Same location only added patch top of that. > > Surely I can convert all drivers and use old directory, but IMHO it is simply too risky. We have already too much problems coming from that kind of big changes. > > And what goes to file naming hyphen (-) vs. underscore (_), underscore seems to be much more common inside Kernel. Anyhow, I keep directory name as dvb-usb-v2 to follow old naming. > > $ find ./ -type f -printf "%f\n" | grep "_" | wc -l > 21465 > $ find ./ -type f -printf "%f\n" | grep "-" | wc -l > 13927 The above works for me, but unfortunately, the tree can't be applied. The fact is that there are lots of duplicated symbols between dvb-usb and dvb-usb-v2. They'll fail if someone would compile everything bultin (make allyesconfig). I tried to remove the Kconfig/Makefile changes from the initial patch, moving it to happen just before the first driver using dvb-usb-v2. See: http://git.linuxtv.org/mchehab/experimental.git/shortlog/refs/heads/dvb-usb-v2 The patch that adds it to the build system is enclosed. It is basically what's there at the initial patch, plus the changes done at the intermediate patches at the Makefile. The result is shown below: # make ARCH=i386 allyesconfig ... $ make ARCH=i386 CONFIG_DEBUG_SECTION_MISMATCH=y M=drivers/media drivers/media/dvb/dvb-usb/dvb_usbv2.o: In function `_GLOBAL__sub_I_65535_0_dvb_usb_download_firmware': /home/v4l/v4l/patchwork/include/linux/usb.h:197: multiple definition of `dvb_usb_disable_rc_polling' drivers/media/dvb/dvb-usb/dvb-usb.o:/home/v4l/v4l/patchwork/include/linux/usb.h:1570: first defined here drivers/media/dvb/dvb-usb/dvb_usbv2.o: In function `usb_urb_init': /home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/usb_urb.c:310: multiple definition of `usb_urb_init' drivers/media/dvb/dvb-usb/dvb-usb.o:/home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/usb-urb.c:213: first defined here drivers/media/dvb/dvb-usb/dvb_usbv2.o: In function `dvb_usb_adapter_frontend_init': /home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c:332: multiple definition of `dvb_usb_adapter_frontend_init' drivers/media/dvb/dvb-usb/dvb-usb.o:/home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb-usb-dvb.c:221: first defined here drivers/media/dvb/dvb-usb/dvb_usbv2.o: In function `dvb_usb_adapter_dvb_exit': /home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c:260: multiple definition of `dvb_usb_adapter_dvb_exit' drivers/media/dvb/dvb-usb/dvb-usb.o:/home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb-usb-dvb.c:164: first defined here drivers/media/dvb/dvb-usb/dvb_usbv2.o: In function `dvb_usb_adapter_dvb_init': /home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c:191: multiple definition of `dvb_usb_adapter_dvb_init' drivers/media/dvb/dvb-usb/dvb-usb.o:/home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb-usb-dvb.c:98: first defined here drivers/media/dvb/dvb-usb/dvb_usbv2.o: In function `dvb_usb_device_power_ctrl': /home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb_usb_init.c:254: multiple definition of `dvb_usb_device_power_ctrl' drivers/media/dvb/dvb-usb/dvb-usb.o:/home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb-usb-init.c:216: first defined here drivers/media/dvb/dvb-usb/dvb_usbv2.o: In function `dvb_usb_remote_init': /home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb_usb_remote.c:42: multiple definition of `dvb_usb_remote_init' drivers/media/dvb/dvb-usb/dvb-usb.o:/home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb-usb-remote.c:308: first defined here drivers/media/dvb/dvb-usb/dvb_usbv2.o: In function `usb_urb_kill': /home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/usb_urb.c:76: multiple definition of `usb_urb_kill' drivers/media/dvb/dvb-usb/dvb-usb.o:/home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/usb-urb.c:66: first defined here drivers/media/dvb/dvb-usb/dvb_usbv2.o: In function `dvb_usb_adapter_frontend_exit': /home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c:401: multiple definition of `dvb_usb_adapter_frontend_exit' drivers/media/dvb/dvb-usb/dvb-usb.o:/home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb-usb-dvb.c:276: first defined here drivers/media/dvb/dvb-usb/dvb_usbv2.o: In function `dvb_usb_i2c_init': /home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb_usb_init.c:72: multiple definition of `dvb_usb_i2c_init' drivers/media/dvb/dvb-usb/dvb-usb.o:/home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb-usb-i2c.c:11: first defined here drivers/media/dvb/dvb-usb/dvb_usbv2.o: In function `dvb_usb_adapter_stream_init': /home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c:36: multiple definition of `dvb_usb_adapter_stream_init' drivers/media/dvb/dvb-usb/dvb-usb.o:/home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb-usb-urb.c:92: first defined here drivers/media/dvb/dvb-usb/dvb_usbv2.o: In function `usb_urb_exit': /home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/usb_urb.c:351: multiple definition of `usb_urb_exit' drivers/media/dvb/dvb-usb/dvb-usb.o:/home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/usb-urb.c:238: first defined here drivers/media/dvb/dvb-usb/dvb_usbv2.o: In function `dvb_usb_download_firmware': /home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb_usb_init.c:28: multiple definition of `dvb_usb_download_firmware' drivers/media/dvb/dvb-usb/dvb-usb.o:/home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb-usb-firmware.c:79: first defined here drivers/media/dvb/dvb-usb/dvb_usbv2.o: In function `dvb_usb_remote_exit': /home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb_usb_remote.c:108: multiple definition of `dvb_usb_remote_exit' drivers/media/dvb/dvb-usb/dvb-usb.o:/home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb-usb-remote.c:341: first defined here drivers/media/dvb/dvb-usb/dvb_usbv2.o: In function `dvb_usb_adapter_stream_exit': /home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c:60: multiple definition of `dvb_usb_adapter_stream_exit' drivers/media/dvb/dvb-usb/dvb-usb.o:/home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb-usb-urb.c:116: first defined here drivers/media/dvb/dvb-usb/dvb_usbv2.o: In function `usb_urb_submit': /home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/usb_urb.c:89: multiple definition of `usb_urb_submit' drivers/media/dvb/dvb-usb/dvb-usb.o:/home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/usb-urb.c:79: first defined here drivers/media/dvb/dvb-usb/dvb_usbv2.o: In function `dvb_usb_i2c_exit': /home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb_usb_init.c:95: multiple definition of `dvb_usb_i2c_exit' drivers/media/dvb/dvb-usb/dvb-usb.o:/home/v4l/v4l/patchwork/drivers/media/dvb/dvb-usb/dvb-usb-i2c.c:38: first defined here make[3]: *** [drivers/media/dvb/dvb-usb/built-in.o] Error 1 make[2]: *** [drivers/media/dvb/dvb-usb] Error 2 make[1]: *** [drivers/media/dvb] Error 2 Please fix it, in order to allow me to merge the changes. Please base your patches on my experimental tree, as this will save me the time to review the patches that are already there (and that are ok, on my eyes). Thanks! Mauro git://linuxtv.org/mchehab/experimental.git dvb-usb-v2 > > > regards > Antti > > --- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/media/dvb/dvb-usb/Kconfig b/drivers/media/dvb/dvb-usb/Kconfig index c216156..a6ffdb3 100644 --- a/drivers/media/dvb/dvb-usb/Kconfig +++ b/drivers/media/dvb/dvb-usb/Kconfig @@ -13,6 +13,21 @@ config DVB_USB Say Y if you own a USB DVB device. +config DVB_USB_V2 + tristate "Support for various USB DVB devices v2" + depends on DVB_CORE && USB && I2C && RC_CORE + help + By enabling this you will be able to choose the various supported + USB1.1 and USB2.0 DVB devices. + + Almost every USB device needs a firmware, please look into + . + + For a complete list of supported USB devices see the LinuxTV DVB Wiki: + + + Say Y if you own a USB DVB device. + config DVB_USB_DEBUG bool "Enable extended debug support for all DVB-USB devices" depends on DVB_USB diff --git a/drivers/media/dvb/dvb-usb/Makefile b/drivers/media/dvb/dvb-usb/Makefile index b667ac3..3c73e7b 100644 --- a/drivers/media/dvb/dvb-usb/Makefile +++ b/drivers/media/dvb/dvb-usb/Makefile @@ -1,6 +1,9 @@ dvb-usb-objs = dvb-usb-firmware.o dvb-usb-init.o dvb-usb-urb.o dvb-usb-i2c.o dvb-usb-dvb.o dvb-usb-remote.o usb-urb.o obj-$(CONFIG_DVB_USB) += dvb-usb.o +dvb_usbv2-objs = dvb_usb_init.o dvb_usb_urb.o dvb_usb_dvb.o dvb_usb_remote.o usb_urb.o +obj-$(CONFIG_DVB_USB_V2) += dvb_usbv2.o + dvb-usb-vp7045-objs = vp7045.o vp7045-fe.o obj-$(CONFIG_DVB_USB_VP7045) += dvb-usb-vp7045.o