]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
11 years ago[media] dvb_usb_v2: do not try to remove non-existent adapter
Antti Palosaari [Wed, 27 Jun 2012 01:49:19 +0000 (22:49 -0300)]
[media] dvb_usb_v2: do not try to remove non-existent adapter

Check that adapter exists before trying to remove it.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: use dev_* logging macros
Antti Palosaari [Wed, 27 Jun 2012 01:44:00 +0000 (22:44 -0300)]
[media] dvb_usb_v2: use dev_* logging macros

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: change streaming control callback parameter
Antti Palosaari [Tue, 26 Jun 2012 03:04:33 +0000 (00:04 -0300)]
[media] dvb_usb_v2: change streaming control callback parameter

Pass frontend instead of adapter as some drivers need to make
decisions based frontend.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: fix power_ctrl() callback error handling
Antti Palosaari [Thu, 21 Jun 2012 05:57:34 +0000 (02:57 -0300)]
[media] dvb_usb_v2: fix power_ctrl() callback error handling

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: update copyrights
Antti Palosaari [Thu, 21 Jun 2012 02:09:41 +0000 (23:09 -0300)]
[media] dvb_usb_v2: update copyrights

Signed-off-by: Antti Palosaari <crope@iki.fi>
Cc: Patrick Boettcher <patrick.boettcher@desy.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: remove unused variable
Antti Palosaari [Thu, 21 Jun 2012 01:47:15 +0000 (22:47 -0300)]
[media] dvb_usb_v2: remove unused variable

It was left from the legacy remote controller we do not support.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: update header dvb_usb.h comments
Antti Palosaari [Thu, 21 Jun 2012 01:22:14 +0000 (22:22 -0300)]
[media] dvb_usb_v2: update header dvb_usb.h comments

Comment briefly all used structures and variables.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: refactor dvb_usbv2_generic_rw()
Antti Palosaari [Wed, 20 Jun 2012 23:27:42 +0000 (20:27 -0300)]
[media] dvb_usb_v2: refactor dvb_usbv2_generic_rw()

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: multiple small tweaks around the code
Antti Palosaari [Wed, 20 Jun 2012 03:32:53 +0000 (00:32 -0300)]
[media] dvb_usb_v2: multiple small tweaks around the code

Naming, small code changes, debug writings, etc.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: move dvb_usbv2_generic_rw() debugs behind define
Antti Palosaari [Wed, 20 Jun 2012 01:31:04 +0000 (22:31 -0300)]
[media] dvb_usb_v2: move dvb_usbv2_generic_rw() debugs behind define

It is nice to have this debug, but as it generates very huge amount
of traffic, better to make it conditional. Use define macro to disable
it as I did not find out how to use dynamic debugs to dump variable
length buffers like that.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: merge files dvb_usb_init.c and dvb_usb_dvb.c
Antti Palosaari [Wed, 20 Jun 2012 01:21:34 +0000 (22:21 -0300)]
[media] dvb_usb_v2: merge files dvb_usb_init.c and dvb_usb_dvb.c

Merge files dvb_usb_init.c and dvb_usb_dvb.c to dvb_usb_core.c.
It is still under 1000 lines of code after all the optimization
so put it one file.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: refactor dvb_usb_ctrl_feed() logic
Antti Palosaari [Wed, 20 Jun 2012 00:47:42 +0000 (21:47 -0300)]
[media] dvb_usb_v2: refactor dvb_usb_ctrl_feed() logic

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: remove num_adapters_initialized variable
Antti Palosaari [Tue, 19 Jun 2012 23:03:02 +0000 (20:03 -0300)]
[media] dvb_usb_v2: remove num_adapters_initialized variable

We can live easily without it so remove it, make code and binary
few bytes smaller.

>From struct dvb_usb_device variable int num_adapters_initialized.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: use identify_state() to resolve firmware name
Antti Palosaari [Tue, 19 Jun 2012 02:42:53 +0000 (23:42 -0300)]
[media] dvb_usb_v2: use identify_state() to resolve firmware name

Merge get_firmware_name() to identify_state().

It is wise to resolve firmware name in that routine as it does
decision wether or not to load firmware at all. It is one very
rarely needed callback less.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: merge get_ts_config() to get_usb_stream_config()
Antti Palosaari [Tue, 19 Jun 2012 01:54:16 +0000 (22:54 -0300)]
[media] dvb_usb_v2: merge get_ts_config() to get_usb_stream_config()

Piggypag TS type callback to USB stream callback and change
callback name slightly to fit better.
Both of those are rather rare callback and has a relation. Transport
Stream, TS, is input stream and USB stream is output stream of
DVB USB bridge.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: use container_of() for adapter to device
Antti Palosaari [Mon, 18 Jun 2012 23:09:07 +0000 (20:09 -0300)]
[media] dvb_usb_v2: use container_of() for adapter to device

We dont need that pointer as we can use container_of() macro thus
remove it.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] ec168: use DVB UDB macros
Antti Palosaari [Mon, 18 Jun 2012 22:58:44 +0000 (19:58 -0300)]
[media] ec168: use DVB UDB macros

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] ce6230: use DVB USB macros
Antti Palosaari [Mon, 18 Jun 2012 22:50:16 +0000 (19:50 -0300)]
[media] ce6230: use DVB USB macros

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] au6610: use DVB USB macros
Antti Palosaari [Mon, 18 Jun 2012 22:44:08 +0000 (19:44 -0300)]
[media] au6610: use DVB USB macros

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] anysee: use DVB USB macros
Antti Palosaari [Mon, 18 Jun 2012 22:39:02 +0000 (19:39 -0300)]
[media] anysee: use DVB USB macros

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: git rid of dvb_usb_adapter state variable
Antti Palosaari [Mon, 18 Jun 2012 02:42:11 +0000 (23:42 -0300)]
[media] dvb_usb_v2: git rid of dvb_usb_adapter state variable

We can live without it easily.

Also USB data stream complete callback checks for feedcount
seems to be quite redundant so remove those also.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] af9035: convert to new DVB USB
Antti Palosaari [Mon, 18 Jun 2012 02:15:03 +0000 (23:15 -0300)]
[media] af9035: convert to new DVB USB

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: use lock to sync feed and frontend control
Antti Palosaari [Sun, 17 Jun 2012 03:27:00 +0000 (00:27 -0300)]
[media] dvb_usb_v2: use lock to sync feed and frontend control

There was synchronization problem when streaming was stopped.
Frontend was ran down before stream which causes problems.
Use mutex to synchronization. Now it looks like that:
LOCK
start frontend
UNLOCK
LOCK
start streaming
[...]
stop streaming
UNLOCK
LOCK
stop frontend
UNLOCK

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] af9015: use helper macros for some pointers
Antti Palosaari [Sat, 16 Jun 2012 21:13:06 +0000 (18:13 -0300)]
[media] af9015: use helper macros for some pointers

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: helper macros for device/adapter/frontend pointers
Antti Palosaari [Sat, 16 Jun 2012 20:58:53 +0000 (17:58 -0300)]
[media] dvb_usb_v2: helper macros for device/adapter/frontend pointers

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] af9015: update USB streaming configuration logic
Antti Palosaari [Sat, 16 Jun 2012 19:25:22 +0000 (16:25 -0300)]
[media] af9015: update USB streaming configuration logic

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: change USB stream config logic
Antti Palosaari [Sat, 16 Jun 2012 19:02:57 +0000 (16:02 -0300)]
[media] dvb_usb_v2: change USB stream config logic

Initial / default USB stream configuration is now set always as a
dvb_usb_device_properties. Dynamic configuration is done top of
that if callback .get_usb_stream_config() exists. Default values
are set when callback is called so callback needs only change
values that are different than default.

In addition of that define two macros DVB_USB_STREAM_BULK() and
DVB_USB_STREAM_ISOC() for filling struct usb_data_stream_properties

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: add macros to fill USB stream properties
Antti Palosaari [Sat, 16 Jun 2012 16:56:37 +0000 (13:56 -0300)]
[media] dvb_usb_v2: add macros to fill USB stream properties

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: .read_mac_address() callback changes
Antti Palosaari [Sat, 16 Jun 2012 00:17:04 +0000 (21:17 -0300)]
[media] dvb_usb_v2: .read_mac_address() callback changes

Give DVB adapter as a parameter for callback. MAC address is
adapter property and it could be (at least in theory) there
is devices having multiple adapters and all has own MAC.

Also add error handling. If callback fails error is returned
which leads device unregister.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: remove num_frontends_initialized from dvb_usb_adapter
Antti Palosaari [Fri, 15 Jun 2012 23:46:44 +0000 (20:46 -0300)]
[media] dvb_usb_v2: remove num_frontends_initialized from dvb_usb_adapter

We can live easily without that variable.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: move fe_ioctl_override() callback
Antti Palosaari [Fri, 15 Jun 2012 05:10:50 +0000 (02:10 -0300)]
[media] dvb_usb_v2: move fe_ioctl_override() callback

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: get rid of dvb_usb_device state
Antti Palosaari [Fri, 15 Jun 2012 04:38:28 +0000 (01:38 -0300)]
[media] dvb_usb_v2: get rid of dvb_usb_device state

Remove state from struct dvb_usb_device as we can live without.
Add some debug logs.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: simplify remote init/exit logic
Antti Palosaari [Fri, 15 Jun 2012 03:52:42 +0000 (00:52 -0300)]
[media] dvb_usb_v2: simplify remote init/exit logic

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: try to remove all adapters on exit
Antti Palosaari [Fri, 15 Jun 2012 03:29:36 +0000 (00:29 -0300)]
[media] dvb_usb_v2: try to remove all adapters on exit

It did not removed adapter on error case as .num_adapters_initialized
was set after success adapter initialization. It should be safe to
try remove all possible adapters in any-case.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: do not release USB interface when device reconnects
Antti Palosaari [Thu, 14 Jun 2012 23:07:02 +0000 (20:07 -0300)]
[media] dvb_usb_v2: do not release USB interface when device reconnects

USB core will call disconnect and remove driver for us as device
will disconnect itself. After that it is loaded again as a new
device but it is warm and no firmware loading needed.

Reported-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: return the download ret in dvb_usb_download_firmware
Malcolm Priestley [Wed, 13 Jun 2012 21:24:32 +0000 (18:24 -0300)]
[media] dvb_usb_v2: return the download ret in dvb_usb_download_firmware

The first being this patch, no return value from dvb_usb_download_firmware
causes system wide dead lock with COLD disconnect as system attempts to continue
to warm state.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] anysee: convert to new DVB USB
Antti Palosaari [Thu, 14 Jun 2012 07:56:09 +0000 (04:56 -0300)]
[media] anysee: convert to new DVB USB

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: attach tuners later
Antti Palosaari [Thu, 14 Jun 2012 05:44:47 +0000 (02:44 -0300)]
[media] dvb_usb_v2: attach tuners later

It is more than nice to have all those frontend pointers when
attaching tuner to the frontend in question. Make that possible
attaching tuners after dvb_register_frontend()

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] ce6230: various small changes
Antti Palosaari [Thu, 14 Jun 2012 02:33:16 +0000 (23:33 -0300)]
[media] ce6230: various small changes

Small changes like log writings. No functionality changes.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] ce6230: convert to new DVB USB
Antti Palosaari [Thu, 14 Jun 2012 02:03:08 +0000 (23:03 -0300)]
[media] ce6230: convert to new DVB USB

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: move remote controller to the main file
Antti Palosaari [Wed, 13 Jun 2012 02:19:40 +0000 (23:19 -0300)]
[media] dvb_usb_v2: move remote controller to the main file

It is only three functions so move it to the main.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] au6610: convert to new DVB USB
Antti Palosaari [Wed, 13 Jun 2012 01:49:54 +0000 (22:49 -0300)]
[media] au6610: convert to new DVB USB

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] ec168: re-implement firmware loading
Antti Palosaari [Wed, 13 Jun 2012 01:16:12 +0000 (22:16 -0300)]
[media] ec168: re-implement firmware loading

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: do not check active fe when stop streaming
Antti Palosaari [Wed, 13 Jun 2012 00:16:52 +0000 (21:16 -0300)]
[media] dvb_usb_v2: do not check active fe when stop streaming

Do not check active frontend as it could be already shutdown.
Add some more debugs.

It turns out that device is put sleep earlier than streaming
is stopped in some cases. That is because streaming is running
different task and there is no locking.

Maybe some locking could be good idea to force stop streaming
before device is shut down. I can guess there could be problems
in someday cases like chip is sleep but streaming control is
requested after that...

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] ec168: switch Kernel pr_* logging
Antti Palosaari [Tue, 12 Jun 2012 23:40:21 +0000 (20:40 -0300)]
[media] ec168: switch Kernel pr_* logging

Change logging.
Some minor text and error number changes.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] ec168: convert to new DVB USB
Antti Palosaari [Tue, 12 Jun 2012 19:45:54 +0000 (16:45 -0300)]
[media] ec168: convert to new DVB USB

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: use pointers to properties
Antti Palosaari [Tue, 12 Jun 2012 19:25:01 +0000 (16:25 -0300)]
[media] dvb_usb_v2: use pointers to properties

Use pointers to properties as device and adapter properties are
constant. No need to embed and copy those structures.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] af9015: suspend/resume
Antti Palosaari [Tue, 12 Jun 2012 05:20:01 +0000 (02:20 -0300)]
[media] af9015: suspend/resume

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: use keyword const for USB ID table
Antti Palosaari [Tue, 12 Jun 2012 04:34:22 +0000 (01:34 -0300)]
[media] dvb_usb_v2: use keyword const for USB ID table

Let optimize that code to the text segment.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: move few callbacks one level up
Antti Palosaari [Tue, 12 Jun 2012 04:05:20 +0000 (01:05 -0300)]
[media] dvb_usb_v2: move few callbacks one level up

Move frontend_attach, tuner_attach, frontend_ctrl and streaming_ctrl
from adapter to device.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: Cypress firmware download module
Antti Palosaari [Tue, 12 Jun 2012 02:35:09 +0000 (23:35 -0300)]
[media] dvb_usb_v2: Cypress firmware download module

Firmware handling routines for various Cypress chips.
Cypress AN2135
Cypress AN2235
Cypress FX2

These were split out from general DVB USB module by
Patrick Boettcher. I did only small changes.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: suspend/resume stop/start USB streaming
Antti Palosaari [Mon, 11 Jun 2012 20:47:04 +0000 (17:47 -0300)]
[media] dvb_usb_v2: suspend/resume stop/start USB streaming

Stop remote polling and USB streaming before suspend and resume
those when back to normal operation.

It is far away from complete implementation, but at least it does
not hang system anymore on suspend while streaming is ongoing.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: add .disconnect() callback
Antti Palosaari [Sun, 10 Jun 2012 03:46:22 +0000 (00:46 -0300)]
[media] dvb_usb_v2: add .disconnect() callback

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: probe/disconnect error handling
Antti Palosaari [Sun, 10 Jun 2012 02:42:47 +0000 (23:42 -0300)]
[media] dvb_usb_v2: probe/disconnect error handling

In my understanding we never call .disconnect() when .probe()
returns error. Change .probe() to return error all cases it cannot
handle given interface and simplify .disconnect() handling.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: misc cleanup changes
Antti Palosaari [Sun, 10 Jun 2012 02:24:29 +0000 (23:24 -0300)]
[media] dvb_usb_v2: misc cleanup changes

Error handling, remove unneeded stuff, renaming, etc.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: I2C adapter cleanup changes
Antti Palosaari [Sun, 10 Jun 2012 00:37:11 +0000 (21:37 -0300)]
[media] dvb_usb_v2: I2C adapter cleanup changes

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] af9015: use USB core soft_unbind
Antti Palosaari [Sun, 10 Jun 2012 00:22:06 +0000 (21:22 -0300)]
[media] af9015: use USB core soft_unbind

I think it is better to allow driver finish pending operations and
disconnect device. Killing all ongoing USB transfers could have very
bad effect, even break hardware in worst case.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] af9015: switch to new DVB-USB
Antti Palosaari [Thu, 7 Jun 2012 23:36:35 +0000 (20:36 -0300)]
[media] af9015: switch to new DVB-USB

Almost all hacks are now removed and much less code.
Reducing af9015 driver code from 2084 to 1609, it is almost
500 LOC less!

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: enable compile
Antti Palosaari [Wed, 1 Aug 2012 17:44:06 +0000 (14:44 -0300)]
[media] dvb_usb_v2: enable compile

Compilation was disabled as it was failing with allyesconfig.
Rename duplicate functions and enable building.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: do not free resources until delayed init is done
Antti Palosaari [Sun, 10 Jun 2012 00:11:28 +0000 (21:11 -0300)]
[media] dvb_usb_v2: do not free resources until delayed init is done

It was possible to free resources by unloading module while
initialization was still ongoing on delayed work.

Use PID to make decision on .disconnect() if caller is our
work or some other as work also calls .disconnect() in error
case. There could be better solution still...

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: fix dvb_usb_generic_rw() debug
Antti Palosaari [Thu, 7 Jun 2012 21:37:42 +0000 (18:37 -0300)]
[media] dvb_usb_v2: fix dvb_usb_generic_rw() debug

Debug prints write operation data instead of read data was
intention.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: add missing new line for log writings
Antti Palosaari [Thu, 7 Jun 2012 20:52:06 +0000 (17:52 -0300)]
[media] dvb_usb_v2: add missing new line for log writings

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: add .bInterfaceNumber match
Antti Palosaari [Thu, 7 Jun 2012 20:34:41 +0000 (17:34 -0300)]
[media] dvb_usb_v2: add .bInterfaceNumber match

There is no USB match flag for used USB interface. It is rather
common there is multiple interfaces offering different services.
For example one for television and one for remote controller.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: rename device_init/device_exit to probe/disconnect
Antti Palosaari [Thu, 7 Jun 2012 19:23:40 +0000 (16:23 -0300)]
[media] dvb_usb_v2: rename device_init/device_exit to probe/disconnect

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: move I2C adapter code to different file
Antti Palosaari [Thu, 7 Jun 2012 18:40:25 +0000 (15:40 -0300)]
[media] dvb_usb_v2: move I2C adapter code to different file

No worth to keep it on own file as it is only 30 LOC.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: use Kernel logging (pr_debug/pr_err/pr_info)
Antti Palosaari [Thu, 7 Jun 2012 01:46:38 +0000 (22:46 -0300)]
[media] dvb_usb_v2: use Kernel logging (pr_debug/pr_err/pr_info)

Use Kernel logging insteads of own macros.
Get rid of old debugs and use dynamic debug.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: unregister all frontends in error case
Antti Palosaari [Wed, 6 Jun 2012 20:52:51 +0000 (17:52 -0300)]
[media] dvb_usb_v2: unregister all frontends in error case

Unregister all if there is any error meet during
frontend initialization.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: remove usb_clear_halt()
Antti Palosaari [Wed, 6 Jun 2012 18:01:32 +0000 (15:01 -0300)]
[media] dvb_usb_v2: remove usb_clear_halt()

Calling usb_clear_halt() during device init is not correct.
2 of 7 AF9015 devices I have timeouts next USB control message
after usb_clear_halt(). It was originally performed between
tuner_attach() and rc_query() and likely not causing problems
since rc_query() is repeated continously. None could see it when
first rc_query() failed...

Secondly it was not called for .generic_bulk_ctrl_endpoint_response.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: refactor delayed init
Antti Palosaari [Wed, 6 Jun 2012 03:05:06 +0000 (00:05 -0300)]
[media] dvb_usb_v2: refactor delayed init

Move work to the struct dvb_usb_device that we can access
it inside .disconnect().

Also many other minor changes.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: ensure driver_info is not null
Antti Palosaari [Tue, 5 Jun 2012 23:37:46 +0000 (20:37 -0300)]
[media] dvb_usb_v2: ensure driver_info is not null

It could be null in case of driver does not set it
properly, like missing dynamic ID handling.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: frontend switching changes
Antti Palosaari [Tue, 5 Jun 2012 02:15:26 +0000 (23:15 -0300)]
[media] dvb_usb_v2: frontend switching changes

Some error checking changes and refactoring.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: remove various unneeded variables
Antti Palosaari [Tue, 5 Jun 2012 01:18:34 +0000 (22:18 -0300)]
[media] dvb_usb_v2: remove various unneeded variables

Adapter priv is not really needed, use device priv instead.
There is only driver or two using that.

Device caps are not needed. There was only "has I2C adapter"
capability defined. It is useless as we can see same just
checking existence of i2c_algo callback.

And also remove some totally not used at all variables.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: use dynamic debugs
Antti Palosaari [Mon, 4 Jun 2012 23:55:34 +0000 (20:55 -0300)]
[media] dvb_usb_v2: use dynamic debugs

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: add macro for filling usb_device_id table entry
Antti Palosaari [Mon, 4 Jun 2012 23:12:55 +0000 (20:12 -0300)]
[media] dvb_usb_v2: add macro for filling usb_device_id table entry

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: clean firmware downloading routines
Antti Palosaari [Mon, 4 Jun 2012 19:36:09 +0000 (16:36 -0300)]
[media] dvb_usb_v2: clean firmware downloading routines

Remove Cypress USB-interface firmware downloading routines.
That is common module and having single vendor chip routines
in common module is wrong. Just move those elsewhere.

Move single function out from the dvb_usb_firmware.c and
remove that file.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: delay firmware download as it blocks module init
Antti Palosaari [Sun, 3 Jun 2012 18:49:45 +0000 (15:49 -0300)]
[media] dvb_usb_v2: delay firmware download as it blocks module init

Delay firmware download and whole driver initialization using
workqueue. udev causes problems when blocking firmware download
was done during module init. This will likely resolve all
DVB USB firmware downloading issues we have had during recent years.

Fixes bug in case of DVB USB driver:
https://bugzilla.redhat.com/show_bug.cgi?id=827538

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: remove .num_frontends
Antti Palosaari [Fri, 1 Jun 2012 22:53:14 +0000 (19:53 -0300)]
[media] dvb_usb_v2: remove .num_frontends

It is no longer needed because all frontends are attached as a one go.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: get rid of (struct dvb_usb_adapter_fe_properties)
Antti Palosaari [Wed, 30 May 2012 01:20:24 +0000 (22:20 -0300)]
[media] dvb_usb_v2: get rid of (struct dvb_usb_adapter_fe_properties)

Get rid of (struct dvb_usb_adapter_fe_properties) as we no longer
need it. Frontends are now defined as a array of pointers inside
adapter struct.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: move 3 callbacks from the frontend to adapter
Antti Palosaari [Tue, 29 May 2012 23:30:05 +0000 (20:30 -0300)]
[media] dvb_usb_v2: move 3 callbacks from the frontend to adapter

Move .frontend_attach(), .tuner_attach() and .streaming_ctrl()
from the frontend to adapter.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: move PID filters from frontend to adapter
Antti Palosaari [Tue, 29 May 2012 21:05:40 +0000 (18:05 -0300)]
[media] dvb_usb_v2: move PID filters from frontend to adapter

Filtering given PIDs from the transport stream is done by the
DVB USB bridge. It is highly possible there is limitations what
kind of stream DVB USB bridge can PID filter, but it still does
not make sense to define filters for each frontend as frontend
could offer different stream types for different standards.

Likely new way is to enable / disable PID filters are needed to
make decision at runtime (callback). PID filters are quite legacy
stuff as those are aimed cut stream smaller to fit for the USB1.1...

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: move (struct usb_data_stream_properties) to upper level
Antti Palosaari [Tue, 29 May 2012 19:12:17 +0000 (16:12 -0300)]
[media] dvb_usb_v2: move (struct usb_data_stream_properties) to upper level

Move USB stream properties from frontend to adapter.
It is property of adapter.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: add .get_ts_config() callback
Antti Palosaari [Tue, 29 May 2012 15:17:20 +0000 (12:17 -0300)]
[media] dvb_usb_v2: add .get_ts_config() callback

Add new callback in order to resolve used TS (MPEG transport stream)
configuration. Normal TS is 188 byte payload only but there is
currently 204 byte TS and raw TS supported too.

Traditionally TS type was mapped as a frontend property but it
does not work no longer after we changed from MFE (multi-frontend)
to SFE (single-frontend). So it is not possible to map TS for the
given FE as there could be only one FE instead of multiple.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: move (struct usb_data_stream) to one level up
Antti Palosaari [Tue, 29 May 2012 00:34:15 +0000 (21:34 -0300)]
[media] dvb_usb_v2: move (struct usb_data_stream) to one level up

Move stream from the frontend to adapter. There could be only
one stream per adapter. One adapter can has multiple frontends
but only one can stream at the time.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: add .get_usb_stream_config()
Antti Palosaari [Tue, 29 May 2012 00:28:01 +0000 (21:28 -0300)]
[media] dvb_usb_v2: add .get_usb_stream_config()

New callback to resolve current USB stream configuration.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: usb_urb.c use dynamic debugs
Antti Palosaari [Mon, 28 May 2012 21:23:17 +0000 (18:23 -0300)]
[media] dvb_usb_v2: usb_urb.c use dynamic debugs

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: dynamic USB stream URB configuration
Antti Palosaari [Mon, 28 May 2012 20:25:40 +0000 (17:25 -0300)]
[media] dvb_usb_v2: dynamic USB stream URB configuration

Change URB count, buffer size and type [BULK/ISOC]
dynamically when needed if existing URB buffers are
big enough.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: remote controller changes
Antti Palosaari [Sat, 26 May 2012 14:43:24 +0000 (11:43 -0300)]
[media] dvb_usb_v2: remote controller changes

Add .get_rc_config() callback and remove old static configs.
Refactor remote controller routines.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: init I2C and USB mutex earlier
Antti Palosaari [Fri, 25 May 2012 15:58:34 +0000 (12:58 -0300)]
[media] dvb_usb_v2: init I2C and USB mutex earlier

Those must be initialized earlier as we now pass
(struct dvb_usb_device *) to the firmware download
callbacks too.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: restore .firmware - pointer to name
Antti Palosaari [Fri, 25 May 2012 15:28:43 +0000 (12:28 -0300)]
[media] dvb_usb_v2: restore .firmware - pointer to name

Most commonly only one firmware is used by the driver
and it is not needed to selected run time. So restore
old functionality but allow .get_firmware_name() callback
to override it.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: remote controller
Antti Palosaari [Fri, 25 May 2012 13:19:03 +0000 (10:19 -0300)]
[media] dvb_usb_v2: remote controller

* remove old legacy code totally
* move default RC keymap definition the the (struct dvb_usb_driver_info)

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: implement .read_config()
Antti Palosaari [Fri, 25 May 2012 01:18:37 +0000 (22:18 -0300)]
[media] dvb_usb_v2: implement .read_config()

That callback is called only once when device is connected.
Call is done after the possible firmware is downloaded to the device,
just after the .power_ctrl() and before adapters are created.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: implement .get_adapter_count()
Antti Palosaari [Fri, 25 May 2012 00:11:42 +0000 (21:11 -0300)]
[media] dvb_usb_v2: implement .get_adapter_count()

Callback to resolve adapter count of current device.
Old static .num_adapters field can be still used but
the new .get_adapter_count() has priority if both
offered by the driver.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: pass device name too using (struct usb_device_id)
Antti Palosaari [Thu, 24 May 2012 23:00:28 +0000 (20:00 -0300)]
[media] dvb_usb_v2: pass device name too using (struct usb_device_id)

Pass all the needed data to the DVB USB core using
(struct usb_device_id) .driver_info. That simplifies
old code a lot and saves memory as all device IDs and
names are not defined inside (struct dvb_usb_device_properties)
as earlier.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: fix issues raised by checkpatch.pl
Antti Palosaari [Thu, 24 May 2012 17:44:21 +0000 (14:44 -0300)]
[media] dvb_usb_v2: fix issues raised by checkpatch.pl

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: implement .get_firmware_name()
Antti Palosaari [Thu, 24 May 2012 12:31:45 +0000 (09:31 -0300)]
[media] dvb_usb_v2: implement .get_firmware_name()

Use callback to return firmware name instead of static firmware name.
There is some chips that needs to select firmware name according to
chip revision.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: pass (struct dvb_usb_device *) as a parameter for fw download
Antti Palosaari [Wed, 23 May 2012 23:45:05 +0000 (20:45 -0300)]
[media] dvb_usb_v2: pass (struct dvb_usb_device *) as a parameter for fw download

Change parameter (struct usb_device *) => (struct dvb_usb_device *)
for .identify_state() and .download_firmware() callbacks.

struct usb_device * did not provide handle for the DVB USB driver state.
Change DVB USB framework to alloc space for the priv earlier and pass
that pointer to the device driver using (struct dvb_usb_device *)
as a callback parameter.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: remove adapter_nums parameter from dvb_usbv2_device_init()
Antti Palosaari [Wed, 23 May 2012 19:23:44 +0000 (16:23 -0300)]
[media] dvb_usb_v2: remove adapter_nums parameter from dvb_usbv2_device_init()

Pass that parameter via configuration structure.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: remove owner parameter from dvb_usbv2_device_init()
Antti Palosaari [Wed, 23 May 2012 18:03:56 +0000 (15:03 -0300)]
[media] dvb_usb_v2: remove owner parameter from dvb_usbv2_device_init()

Pass that parameter via configuration structure.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: use .driver_info to pass struct dvb_usb_device_properties
Antti Palosaari [Wed, 23 May 2012 16:40:57 +0000 (13:40 -0300)]
[media] dvb_usb_v2: use .driver_info to pass struct dvb_usb_device_properties

Use struct usb_device_id .driver_info to pass struct dvb_usb_device_properties
pointer for the DVB USB.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years ago[media] dvb_usb_v2: remove one parameter from dvb_usbv2_device_init()
Antti Palosaari [Wed, 23 May 2012 15:34:45 +0000 (12:34 -0300)]
[media] dvb_usb_v2: remove one parameter from dvb_usbv2_device_init()

Users should use new .init() callback instead.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>