DVB USB v2
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 fromdvb_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/
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
AnttiThe 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.gitdvb_usb_pullfor 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 currentdvb_usbas a starting point
dvb_usb_v2: add .init() callback
dvb_usb_v2: remove one parameter fromdvb_usbv2_device_init()
dvb_usb_v2: use .driver_info to pass structdvb_usb_device_properties
dvb_usb_v2: remove owner parameter fromdvb_usbv2_device_init()
dvb_usb_v2: removeadapter_numsparameter fromdvb_usbv2_device_init()
dvb_usb_v2: pass (structdvb_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 (structusb_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.cuse dynamic debugs
dvb_usb_v2: add .get_usb_stream_config()
dvb_usb_v2: move (structusb_data_stream) to one level up
dvb_usb_v2: add .get_ts_config() callback
dvb_usb_v2: move (structusb_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 (structdvb_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 fillingusb_device_idtable entry
dvb_usb_v2: use dynamic debugs
dvb_usb_v2: remove various unneeded variables
dvb_usb_v2: frontend switching changes
dvb_usb_v2: ensuredriver_infois not null
dvb_usb_v2: refactor delayed init
dvb_usb_v2: removeusb_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: fixdvb_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 coresoft_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 ofdvb_usb_devicestate
dvb_usb_v2: movefe_ioctl_override()callback
dvb_usb_v2: removenum_frontends_initializedfromdvb_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 ofdvb_usb_adapterstate variable
anysee: use DVB USB macros
au6610: use DVB USB macros
ce6230: use DVB USB macros
ec168: use DVB UDB macros
dvb_usb_v2: usecontainer_of()for adapter to device
dvb_usb_v2: mergeget_ts_config()toget_usb_stream_config()
dvb_usb_v2: useidentify_state()to resolve firmware name
dvb_usb_v2: removenum_adapters_initializedvariable
dvb_usb_v2: refactordvb_usb_ctrl_feed()logic
dvb_usb_v2: merge filesdvb_usb_init.canddvb_usb_dvb.c
dvb_usb_v2: movedvb_usbv2_generic_rw()debugs behind define
dvb_usb_v2: multiple small tweaks around the code
dvb_usb_v2: refactordvb_usbv2_generic_rw()
dvb_usb_v2: update headerdvb_usb.hcomments
dvb_usb_v2: remove unused variable
dvb_usb_v2: update copyrights
dvb_usb_v2: fixpower_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: removeusb_clear_halt()from streamMalcolm Priestley (1):
dvb_usb_v2: return the download ret indvb_usb_download_firmwaredrivers/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.hcreate mode 100644drivers/media/dvb/dvb-usb/dvb_usb_common.hcreate mode 100644drivers/media/dvb/dvb-usb/dvb_usb_core.ccreate mode 100644drivers/media/dvb/dvb-usb/dvb_usb_firmware.ccreate mode 100644drivers/media/dvb/dvb-usb/dvb_usb_firmware.hcreate mode 100644drivers/media/dvb/dvb-usb/dvb_usb_urb.ccreate mode 100644drivers/media/dvb/dvb-usb/usb_urb.c
Signature · 1 line
http://palosaari.fi/
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
AnttiThe 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.gitdvb_usb_pullfor 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 currentdvb_usbas 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
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
AnttiThe 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.gitdvb_usb_pullfor 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 currentdvb_usbas a starting pointNaming 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/
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
AnttiThe 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.gitdvb_usb_pullfor 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 currentdvb_usbas a starting pointNaming 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
@@ -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
@@ -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
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
AnttiThe 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.gitdvb_usb_pullfor 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 currentdvb_usbas a starting pointNaming 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 13927The 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!
Maurodrivers/media/dvb/dvb-usb/Kconfig +15
-0@@ -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_USBdrivers/media/dvb/dvb-usb/Makefile +3
-0@@ -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.gitdvb-usb-v2
Signature · 1 line
http://palosaari.fi/
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
AnttiThe 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.gitdvb_usb_pullfor you to fetch changes up to
747abaa1e0ee4415e67026c119cb73e6277f4898:dvb_usb_v2: remove usb_clear_halt() from stream (2012-07-0215:54:29
+0300)----------------------------------------------------------------
Antti Palosaari (103):
dvb_usb_v2: copy currentdvb_usbas a starting pointNaming 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 13927The 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 theMakefile.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 2Quoted 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/