Skip to contentSkip to conversation

DVB USB v2

GIT PULL Antti Palosaari 2 participants 7 messages Jul 2, 2012 – Aug 2, 2012 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

Here it is finally - quite totally rewritten DVB-USB-framework. I haven't got almost any feedback so far...

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
dvb_usb_v2: add .init() callback
dvb_usb_v2: remove one parameter from dvb_usbv2_device_init()
dvb_usb_v2: use .driver_info to pass struct dvb_usb_device_properties
dvb_usb_v2: remove owner parameter from dvb_usbv2_device_init()
dvb_usb_v2: remove adapter_nums parameter from
dvb_usbv2_device_init()
dvb_usb_v2: pass (struct dvb_usb_device *) as a parameter for fw
download
dvb_usb_v2: implement .get_firmware_name()
dvb_usb_v2: fix issues raised by checkpatch.pl
dvb_usb_v2: pass device name too using (struct usb_device_id)
dvb_usb_v2: implement .get_adapter_count()
dvb_usb_v2: implement .read_config()
dvb_usb_v2: remote controller
dvb_usb_v2: restore .firmware - pointer to name
dvb_usb_v2: init I2C and USB mutex earlier
dvb_usb_v2: remote controller changes
dvb_usb_v2: dynamic USB stream URB configuration
dvb_usb_v2: usb_urb.c use dynamic debugs
dvb_usb_v2: add .get_usb_stream_config()
dvb_usb_v2: move (struct usb_data_stream) to one level up
dvb_usb_v2: add .get_ts_config() callback
dvb_usb_v2: move (struct usb_data_stream_properties) to upper level
dvb_usb_v2: move PID filters from frontend to adapter
dvb_usb_v2: move 3 callbacks from the frontend to adapter
dvb_usb_v2: get rid of (struct dvb_usb_adapter_fe_properties)
dvb_usb_v2: remove .num_frontends
dvb_usb_v2: delay firmware download as it blocks module init
dvb_usb_v2: clean firmware downloading routines
dvb_usb_v2: add macro for filling usb_device_id table entry
dvb_usb_v2: use dynamic debugs
dvb_usb_v2: remove various unneeded variables
dvb_usb_v2: frontend switching changes
dvb_usb_v2: ensure driver_info is not null
dvb_usb_v2: refactor delayed init
dvb_usb_v2: remove usb_clear_halt()
dvb_usb_v2: unregister all frontends in error case
dvb_usb_v2: use Kernel logging (pr_debug/pr_err/pr_info)
dvb_usb_v2: move I2C adapter code to different file
dvb_usb_v2: rename device_init/device_exit to probe/disconnect
dvb_usb_v2: add .bInterfaceNumber match
dvb_usb_v2: add missing new line for log writings
dvb_usb_v2: fix dvb_usb_generic_rw() debug
af9015: switch to new DVB-USB
dvb_usb_v2: do not free resources until delayed init is done
af9015: use USB core soft_unbind
dvb_usb_v2: I2C adapter changes
dvb_usb_v2: misc changes
dvb_usb_v2: probe/disconnect error handling
dvb_usb_v2: add .disconnect() callback
dvb_usb_v2: suspend/resume stop/start USB streaming
dvb_usb_v2: Cypress firmware download module
dvb_usb_v2: move few callbacks one level up
dvb_usb_v2: use keyword const for USB ID table
af9015: suspend/resume
dvb_usb_v2: use pointers to properties
ec168: convert to new DVB USB
ec168: switch Kernel pr_* logging
dvb_usb_v2: do not check active fe when stop streaming
ec168: re-implement firmware loading
au6610: convert to new DVB USB
dvb_usb_v2: move remote controller to the main file
ce6230: convert to new DVB USB
ce6230: various small changes
dvb_usb_v2: attach tuners later
anysee: convert to new DVB USB
dvb_usb_v2: do not release USB interface when device reconnects
dvb_usb_v2: try to remove all adapters on exit
dvb_usb_v2: simplify remote init/exit logic
dvb_usb_v2: get rid of dvb_usb_device state
dvb_usb_v2: move fe_ioctl_override() callback
dvb_usb_v2: remove num_frontends_initialized from dvb_usb_adapter
dvb_usb_v2: .read_mac_address() callback changes
dvb_usb_v2: add macros to fill USB stream properties
dvb_usb_v2: change USB stream config logic
af9015: update USB streaming configuration logic
dvb_usb_v2: helper macros for device/adapter/frontend pointers
af9015: use helper macros for some pointers
dvb_usb_v2: use lock to sync feed and frontend control
af9035: convert to new DVB USB
dvb_usb_v2: git rid of dvb_usb_adapter state variable
anysee: use DVB USB macros
au6610: use DVB USB macros
ce6230: use DVB USB macros
ec168: use DVB UDB macros
dvb_usb_v2: use container_of() for adapter to device
dvb_usb_v2: merge get_ts_config() to get_usb_stream_config()
dvb_usb_v2: use identify_state() to resolve firmware name
dvb_usb_v2: remove num_adapters_initialized variable
dvb_usb_v2: refactor dvb_usb_ctrl_feed() logic
dvb_usb_v2: merge files dvb_usb_init.c and dvb_usb_dvb.c
dvb_usb_v2: move dvb_usbv2_generic_rw() debugs behind define
dvb_usb_v2: multiple small tweaks around the code
dvb_usb_v2: refactor dvb_usbv2_generic_rw()
dvb_usb_v2: update header dvb_usb.h comments
dvb_usb_v2: remove unused variable
dvb_usb_v2: update copyrights
dvb_usb_v2: fix power_ctrl() callback error handling
dvb_usb_v2: change streaming control callback parameter
mxl111sf: convert to new DVB USB
gl861: convert to new DVB USB
dvb_usb_v2: use dev_* logging macros
dvb_usb_v2: do not try to remove non-existent adapter
dvb_usb_v2: remove usb_clear_halt() from stream

Malcolm Priestley (1):
dvb_usb_v2: return the download ret in dvb_usb_download_firmware

 drivers/media/dvb/dvb-usb/Kconfig            |   19 ++
 drivers/media/dvb/dvb-usb/Makefile           |    5 +
 drivers/media/dvb/dvb-usb/af9015.c           | 2072 
+++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------
 drivers/media/dvb/dvb-usb/af9015.h           |   67 ++++-
 drivers/media/dvb/dvb-usb/af9035.c           |  727 
++++++++++++++++++----------------------------
 drivers/media/dvb/dvb-usb/af9035.h           |    6 +-
 drivers/media/dvb/dvb-usb/anysee.c           |  612 
+++++++++++++++++----------------------
 drivers/media/dvb/dvb-usb/anysee.h           |   26 +-
 drivers/media/dvb/dvb-usb/au6610.c           |  116 +++-----
 drivers/media/dvb/dvb-usb/au6610.h           |   13 +-
 drivers/media/dvb/dvb-usb/ce6230.c           |  181 +++++-------
 drivers/media/dvb/dvb-usb/ce6230.h           |   36 +--
 drivers/media/dvb/dvb-usb/dvb_usb.h          |  392 
+++++++++++++++++++++++++
 drivers/media/dvb/dvb-usb/dvb_usb_common.h   |   35 +++
 drivers/media/dvb/dvb-usb/dvb_usb_core.c     |  996 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/media/dvb/dvb-usb/dvb_usb_firmware.c |  125 ++++++++
 drivers/media/dvb/dvb-usb/dvb_usb_firmware.h |   31 ++
 drivers/media/dvb/dvb-usb/dvb_usb_urb.c      |   83 ++++++
 drivers/media/dvb/dvb-usb/ec168.c            |  321 +++++++++------------
 drivers/media/dvb/dvb-usb/ec168.h            |   26 +-
 drivers/media/dvb/dvb-usb/gl861.c            |  130 +++------
 drivers/media/dvb/dvb-usb/gl861.h            |    5 +-
 drivers/media/dvb/dvb-usb/mxl111sf-tuner.c   |    2 +
 drivers/media/dvb/dvb-usb/mxl111sf.c         | 1456 
+++++++++++++++++++++++++++++++++++---------------------------------------------------------
 drivers/media/dvb/dvb-usb/mxl111sf.h         |   22 +-
 drivers/media/dvb/dvb-usb/usb_urb.c          |  357 
+++++++++++++++++++++++
 26 files changed, 4306 insertions(+), 3555 deletions(-)
 create mode 100644 drivers/media/dvb/dvb-usb/dvb_usb.h
 create mode 100644 drivers/media/dvb/dvb-usb/dvb_usb_common.h
 create mode 100644 drivers/media/dvb/dvb-usb/dvb_usb_core.c
 create mode 100644 drivers/media/dvb/dvb-usb/dvb_usb_firmware.c
 create mode 100644 drivers/media/dvb/dvb-usb/dvb_usb_firmware.h
 create mode 100644 drivers/media/dvb/dvb-usb/dvb_usb_urb.c
 create mode 100644 drivers/media/dvb/dvb-usb/usb_urb.c
Signature · 1 line
http://palosaari.fi/
#1 lore raw
Quoted 2 lines · Antti Palosaari

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.

Quoted 174 lines

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
dvb_usb_v2: add .init() callback
dvb_usb_v2: remove one parameter from dvb_usbv2_device_init()
dvb_usb_v2: use .driver_info to pass struct
dvb_usb_device_properties
dvb_usb_v2: remove owner parameter from dvb_usbv2_device_init()
dvb_usb_v2: remove adapter_nums parameter from
dvb_usbv2_device_init()
dvb_usb_v2: pass (struct dvb_usb_device *) as a parameter for fw
download
dvb_usb_v2: implement .get_firmware_name()
dvb_usb_v2: fix issues raised by checkpatch.pl
dvb_usb_v2: pass device name too using (struct usb_device_id)
dvb_usb_v2: implement .get_adapter_count()
dvb_usb_v2: implement .read_config()
dvb_usb_v2: remote controller
dvb_usb_v2: restore .firmware - pointer to name
dvb_usb_v2: init I2C and USB mutex earlier
dvb_usb_v2: remote controller changes
dvb_usb_v2: dynamic USB stream URB configuration
dvb_usb_v2: usb_urb.c use dynamic debugs
dvb_usb_v2: add .get_usb_stream_config()
dvb_usb_v2: move (struct usb_data_stream) to one level up
dvb_usb_v2: add .get_ts_config() callback
dvb_usb_v2: move (struct usb_data_stream_properties) to upper level
dvb_usb_v2: move PID filters from frontend to adapter
dvb_usb_v2: move 3 callbacks from the frontend to adapter
dvb_usb_v2: get rid of (struct dvb_usb_adapter_fe_properties)
dvb_usb_v2: remove .num_frontends
dvb_usb_v2: delay firmware download as it blocks module init
dvb_usb_v2: clean firmware downloading routines
dvb_usb_v2: add macro for filling usb_device_id table entry
dvb_usb_v2: use dynamic debugs
dvb_usb_v2: remove various unneeded variables
dvb_usb_v2: frontend switching changes
dvb_usb_v2: ensure driver_info is not null
dvb_usb_v2: refactor delayed init
dvb_usb_v2: remove usb_clear_halt()
dvb_usb_v2: unregister all frontends in error case
dvb_usb_v2: use Kernel logging (pr_debug/pr_err/pr_info)
dvb_usb_v2: move I2C adapter code to different file
dvb_usb_v2: rename device_init/device_exit to probe/disconnect
dvb_usb_v2: add .bInterfaceNumber match
dvb_usb_v2: add missing new line for log writings
dvb_usb_v2: fix dvb_usb_generic_rw() debug
af9015: switch to new DVB-USB
dvb_usb_v2: do not free resources until delayed init is done
af9015: use USB core soft_unbind
dvb_usb_v2: I2C adapter changes
dvb_usb_v2: misc changes
dvb_usb_v2: probe/disconnect error handling
dvb_usb_v2: add .disconnect() callback
dvb_usb_v2: suspend/resume stop/start USB streaming
dvb_usb_v2: Cypress firmware download module
dvb_usb_v2: move few callbacks one level up
dvb_usb_v2: use keyword const for USB ID table
af9015: suspend/resume
dvb_usb_v2: use pointers to properties
ec168: convert to new DVB USB
ec168: switch Kernel pr_* logging
dvb_usb_v2: do not check active fe when stop streaming
ec168: re-implement firmware loading
au6610: convert to new DVB USB
dvb_usb_v2: move remote controller to the main file
ce6230: convert to new DVB USB
ce6230: various small changes
dvb_usb_v2: attach tuners later
anysee: convert to new DVB USB
dvb_usb_v2: do not release USB interface when device reconnects
dvb_usb_v2: try to remove all adapters on exit
dvb_usb_v2: simplify remote init/exit logic
dvb_usb_v2: get rid of dvb_usb_device state
dvb_usb_v2: move fe_ioctl_override() callback
dvb_usb_v2: remove num_frontends_initialized from dvb_usb_adapter
dvb_usb_v2: .read_mac_address() callback changes
dvb_usb_v2: add macros to fill USB stream properties
dvb_usb_v2: change USB stream config logic
af9015: update USB streaming configuration logic
dvb_usb_v2: helper macros for device/adapter/frontend pointers
af9015: use helper macros for some pointers
dvb_usb_v2: use lock to sync feed and frontend control
af9035: convert to new DVB USB
dvb_usb_v2: git rid of dvb_usb_adapter state variable
anysee: use DVB USB macros
au6610: use DVB USB macros
ce6230: use DVB USB macros
ec168: use DVB UDB macros
dvb_usb_v2: use container_of() for adapter to device
dvb_usb_v2: merge get_ts_config() to get_usb_stream_config()
dvb_usb_v2: use identify_state() to resolve firmware name
dvb_usb_v2: remove num_adapters_initialized variable
dvb_usb_v2: refactor dvb_usb_ctrl_feed() logic
dvb_usb_v2: merge files dvb_usb_init.c and dvb_usb_dvb.c
dvb_usb_v2: move dvb_usbv2_generic_rw() debugs behind define
dvb_usb_v2: multiple small tweaks around the code
dvb_usb_v2: refactor dvb_usbv2_generic_rw()
dvb_usb_v2: update header dvb_usb.h comments
dvb_usb_v2: remove unused variable
dvb_usb_v2: update copyrights
dvb_usb_v2: fix power_ctrl() callback error handling
dvb_usb_v2: change streaming control callback parameter
mxl111sf: convert to new DVB USB
gl861: convert to new DVB USB
dvb_usb_v2: use dev_* logging macros
dvb_usb_v2: do not try to remove non-existent adapter
dvb_usb_v2: remove usb_clear_halt() from stream

Malcolm Priestley (1):
dvb_usb_v2: return the download ret in dvb_usb_download_firmware

  drivers/media/dvb/dvb-usb/Kconfig            |   19 ++
  drivers/media/dvb/dvb-usb/Makefile           |    5 +
  drivers/media/dvb/dvb-usb/af9015.c           | 2072

+++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------

  drivers/media/dvb/dvb-usb/af9015.h           |   67 ++++-
  drivers/media/dvb/dvb-usb/af9035.c           |  727
++++++++++++++++++----------------------------
  drivers/media/dvb/dvb-usb/af9035.h           |    6 +-
  drivers/media/dvb/dvb-usb/anysee.c           |  612
+++++++++++++++++----------------------
  drivers/media/dvb/dvb-usb/anysee.h           |   26 +-
  drivers/media/dvb/dvb-usb/au6610.c           |  116 +++-----
  drivers/media/dvb/dvb-usb/au6610.h           |   13 +-
  drivers/media/dvb/dvb-usb/ce6230.c           |  181 +++++-------
  drivers/media/dvb/dvb-usb/ce6230.h           |   36 +--
  drivers/media/dvb/dvb-usb/dvb_usb.h          |  392
+++++++++++++++++++++++++
  drivers/media/dvb/dvb-usb/dvb_usb_common.h   |   35 +++
  drivers/media/dvb/dvb-usb/dvb_usb_core.c     |  996
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  drivers/media/dvb/dvb-usb/dvb_usb_firmware.c |  125 ++++++++
  drivers/media/dvb/dvb-usb/dvb_usb_firmware.h |   31 ++
  drivers/media/dvb/dvb-usb/dvb_usb_urb.c      |   83 ++++++
  drivers/media/dvb/dvb-usb/ec168.c            |  321 +++++++++------------
  drivers/media/dvb/dvb-usb/ec168.h            |   26 +-
  drivers/media/dvb/dvb-usb/gl861.c            |  130 +++------
  drivers/media/dvb/dvb-usb/gl861.h            |    5 +-
  drivers/media/dvb/dvb-usb/mxl111sf-tuner.c   |    2 +
  drivers/media/dvb/dvb-usb/mxl111sf.c         | 1456

+++++++++++++++++++++++++++++++++++---------------------------------------------------------

  drivers/media/dvb/dvb-usb/mxl111sf.h         |   22 +-
  drivers/media/dvb/dvb-usb/usb_urb.c          |  357
+++++++++++++++++++++++
  26 files changed, 4306 insertions(+), 3555 deletions(-)

create mode 100644 drivers/media/dvb/dvb-usb/dvb_usb.h create mode 100644 drivers/media/dvb/dvb-usb/dvb_usb_common.h create mode 100644 drivers/media/dvb/dvb-usb/dvb_usb_core.c create mode 100644 drivers/media/dvb/dvb-usb/dvb_usb_firmware.c create mode 100644 drivers/media/dvb/dvb-usb/dvb_usb_firmware.h create mode 100644 drivers/media/dvb/dvb-usb/dvb_usb_urb.c create mode 100644 drivers/media/dvb/dvb-usb/usb_urb.c

Signature · 1 line
http://palosaari.fi/
#2 lore raw

Em 03-07-2012 18:47, Antti Palosaari escreveu:

Quoted 28 lines · Antti Palosaari
Quoted 2 lines

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.

Quoted 21 lines

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.

Regards,
Mauro

#3 lore raw
Quoted 36 lines · Mauro Carvalho Chehab

Em 03-07-2012 18:47, Antti Palosaari escreveu:

Quoted 28 lines · Antti Palosaari
Quoted 2 lines

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.

Quoted 21 lines

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.

Quoted 8 lines

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

regards
Antti

Signature · 1 line
http://palosaari.fi/
#4 lore raw

Em 09-07-2012 15:49, Antti Palosaari escreveu:

Quoted 48 lines · Mauro Carvalho Chehab
Quoted 36 lines

Em 03-07-2012 18:47, Antti Palosaari escreveu:

Quoted 28 lines · Antti Palosaari
Quoted 2 lines

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.

Quoted 21 lines

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.

Quoted 8 lines

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.

Quoted 8 lines

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

drivers/media/dvb/dvb-usb/Kconfig +15 -0
index c216156..a6ffdb3 100644
@@ -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
+	  <file:Documentation/dvb/README.dvb-usb>.
+
+	  For a complete list of supported USB devices see the LinuxTV DVB Wiki:
+	  <http://www.linuxtv.org/wiki/index.php/DVB_USB>
+
+	  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
drivers/media/dvb/dvb-usb/Makefile +3 -0
index b667ac3..3c73e7b 100644
@@ -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
 

git://linuxtv.org/mchehab/experimental.git dvb-usb-v2

Quoted 6 lines

regards
Antti

#5 lore raw
Quoted 133 lines · Mauro Carvalho Chehab

Em 09-07-2012 15:49, Antti Palosaari escreveu:

Quoted 48 lines · Mauro Carvalho Chehab
Quoted 36 lines

Em 03-07-2012 18:47, Antti Palosaari escreveu:

Quoted 28 lines · Antti Palosaari
Quoted 2 lines

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.

Quoted 21 lines

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.

Quoted 8 lines

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.

Quoted 8 lines

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
Quoted 3 lines

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

I think I have to do quite big rebase :s It could take day or two as I should start learning how to fix that kind of issues...

regards
Antti

Quoted 52 lines

Thanks!
Mauro

drivers/media/dvb/dvb-usb/Kconfig +15 -0
index c216156..a6ffdb3 100644
@@ -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
+	  <file:Documentation/dvb/README.dvb-usb>.
+
+	  For a complete list of supported USB devices see the LinuxTV DVB Wiki:
+	  <http://www.linuxtv.org/wiki/index.php/DVB_USB>
+
+	  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
drivers/media/dvb/dvb-usb/Makefile +3 -0
index b667ac3..3c73e7b 100644
@@ -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
 

git://linuxtv.org/mchehab/experimental.git dvb-usb-v2

Signature · 1 line
http://palosaari.fi/
#6 lore raw
Quoted 196 lines · Antti Palosaari
Quoted 189 lines · Mauro Carvalho Chehab

Em 09-07-2012 15:49, Antti Palosaari escreveu:

Quoted 55 lines · Mauro Carvalho Chehab
Quoted 38 lines

Em 03-07-2012 18:47, Antti Palosaari escreveu:

Quoted 30 lines · Antti Palosaari
Quoted 2 lines

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.

Quoted 23 lines

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.

Quoted 8 lines

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.

Quoted 8 lines

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
Quoted 5 lines

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

Quoted 5 lines

I think I have to do quite big rebase :s It could take day or two as I should start learning how to fix that kind of issues...

regards
Antti

Here you are:

http://git.linuxtv.org/anttip/media_tree.git/shortlog/refs/heads/dvb_usb_pull_3

And after all it was *huge* workload to rebase this large patch set! It does not sound very wise to waste development fixing rare corner case that could happen when someone is hunting bugs using git bisect.

OK, next time it is easier than git rebase tricks are more familiar...

Also your experimental tree is top of quite old Linus tree - which makes me quite impossible to test as there seems to be some keytable but which prevents me mount dm-crypted disks... So compile tested only and diffed against original.

Is that possible you update/rebase linux-media development tree more often, like once per week for Linus rc tree? At that way it is possible to ran latest rc and latest linux-media same time.

regards
Antti

Signature · 1 line
http://palosaari.fi/