aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
...
* [media] dvb_usb_v2: use keyword const for USB ID tableAntti Palosaari2012-08-04
| | | | | | | 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>
* [media] dvb_usb_v2: move few callbacks one level upAntti Palosaari2012-08-04
| | | | | | | | 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>
* [media] dvb_usb_v2: Cypress firmware download moduleAntti Palosaari2012-08-04
| | | | | | | | | | | | | 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>
* [media] dvb_usb_v2: suspend/resume stop/start USB streamingAntti Palosaari2012-08-04
| | | | | | | | | | | 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>
* [media] dvb_usb_v2: add .disconnect() callbackAntti Palosaari2012-08-04
| | | | | Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] dvb_usb_v2: probe/disconnect error handlingAntti Palosaari2012-08-04
| | | | | | | | | 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>
* [media] dvb_usb_v2: misc cleanup changesAntti Palosaari2012-08-04
| | | | | | | Error handling, remove unneeded stuff, renaming, etc. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] dvb_usb_v2: I2C adapter cleanup changesAntti Palosaari2012-08-04
| | | | | Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] af9015: use USB core soft_unbindAntti Palosaari2012-08-04
| | | | | | | | | 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>
* [media] af9015: switch to new DVB-USBAntti Palosaari2012-08-04
| | | | | | | | | 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>
* [media] dvb_usb_v2: enable compileAntti Palosaari2012-08-04
| | | | | | | | 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>
* [media] dvb_usb_v2: do not free resources until delayed init is doneAntti Palosaari2012-08-04
| | | | | | | | | | | | 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>
* [media] dvb_usb_v2: fix dvb_usb_generic_rw() debugAntti Palosaari2012-08-04
| | | | | | | | 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>
* [media] dvb_usb_v2: add missing new line for log writingsAntti Palosaari2012-08-04
| | | | | Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] dvb_usb_v2: add .bInterfaceNumber matchAntti Palosaari2012-08-04
| | | | | | | | | 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>
* [media] dvb_usb_v2: rename device_init/device_exit to probe/disconnectAntti Palosaari2012-08-04
| | | | | Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] dvb_usb_v2: move I2C adapter code to different fileAntti Palosaari2012-08-04
| | | | | | | 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>
* [media] dvb_usb_v2: use Kernel logging (pr_debug/pr_err/pr_info)Antti Palosaari2012-08-04
| | | | | | | | 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>
* [media] dvb_usb_v2: unregister all frontends in error caseAntti Palosaari2012-08-04
| | | | | | | | 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>
* [media] dvb_usb_v2: remove usb_clear_halt()Antti Palosaari2012-08-04
| | | | | | | | | | | | | | 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>
* [media] dvb_usb_v2: refactor delayed initAntti Palosaari2012-08-04
| | | | | | | | | | 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>
* [media] dvb_usb_v2: ensure driver_info is not nullAntti Palosaari2012-08-04
| | | | | | | | 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>
* [media] dvb_usb_v2: frontend switching changesAntti Palosaari2012-08-04
| | | | | | | Some error checking changes and refactoring. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] dvb_usb_v2: remove various unneeded variablesAntti Palosaari2012-08-04
| | | | | | | | | | | | | | 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>
* [media] dvb_usb_v2: use dynamic debugsAntti Palosaari2012-08-04
| | | | | Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] dvb_usb_v2: add macro for filling usb_device_id table entryAntti Palosaari2012-08-04
| | | | | Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] dvb_usb_v2: clean firmware downloading routinesAntti Palosaari2012-08-04
| | | | | | | | | | | | 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>
* [media] dvb_usb_v2: delay firmware download as it blocks module initAntti Palosaari2012-08-04
| | | | | | | | | | | | | 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>
* [media] dvb_usb_v2: remove .num_frontendsAntti Palosaari2012-08-04
| | | | | | | 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>
* [media] dvb_usb_v2: get rid of (struct dvb_usb_adapter_fe_properties)Antti Palosaari2012-08-04
| | | | | | | | | 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>
* [media] dvb_usb_v2: move 3 callbacks from the frontend to adapterAntti Palosaari2012-08-04
| | | | | | | | 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>
* [media] dvb_usb_v2: move PID filters from frontend to adapterAntti Palosaari2012-08-04
| | | | | | | | | | | | | | | 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>
* [media] dvb_usb_v2: move (struct usb_data_stream_properties) to upper levelAntti Palosaari2012-08-04
| | | | | | | | 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>
* [media] dvb_usb_v2: add .get_ts_config() callbackAntti Palosaari2012-08-04
| | | | | | | | | | | | | | 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>
* [media] dvb_usb_v2: move (struct usb_data_stream) to one level upAntti Palosaari2012-08-04
| | | | | | | | | 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>
* [media] dvb_usb_v2: add .get_usb_stream_config()Antti Palosaari2012-08-04
| | | | | | | 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>
* [media] dvb_usb_v2: usb_urb.c use dynamic debugsAntti Palosaari2012-08-04
| | | | | Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] dvb_usb_v2: dynamic USB stream URB configurationAntti Palosaari2012-08-04
| | | | | | | | | 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>
* [media] dvb_usb_v2: remote controller changesAntti Palosaari2012-08-04
| | | | | | | | 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>
* [media] dvb_usb_v2: init I2C and USB mutex earlierAntti Palosaari2012-08-04
| | | | | | | | | 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>
* [media] dvb_usb_v2: restore .firmware - pointer to nameAntti Palosaari2012-08-04
| | | | | | | | | | 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>
* [media] dvb_usb_v2: remote controllerAntti Palosaari2012-08-04
| | | | | | | | * 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>
* [media] dvb_usb_v2: implement .read_config()Antti Palosaari2012-08-04
| | | | | | | | | 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>
* [media] dvb_usb_v2: implement .get_adapter_count()Antti Palosaari2012-08-04
| | | | | | | | | | 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>
* [media] dvb_usb_v2: pass device name too using (struct usb_device_id)Antti Palosaari2012-08-04
| | | | | | | | | | | 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>
* [media] dvb_usb_v2: fix issues raised by checkpatch.plAntti Palosaari2012-08-04
| | | | | Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] dvb_usb_v2: implement .get_firmware_name()Antti Palosaari2012-08-04
| | | | | | | | | 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>
* [media] dvb_usb_v2: pass (struct dvb_usb_device *) as a parameter for fw ↵Antti Palosaari2012-08-04
| | | | | | | | | | | | | | | 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>
* [media] dvb_usb_v2: remove adapter_nums parameter from dvb_usbv2_device_init()Antti Palosaari2012-08-04
| | | | | | | Pass that parameter via configuration structure. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] dvb_usb_v2: remove owner parameter from dvb_usbv2_device_init()Antti Palosaari2012-08-04
| | | | | | | Pass that parameter via configuration structure. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>