Commit Graph

14459 Commits

Author SHA1 Message Date
Antti Palosaari 4edcf22bf2 [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>
2012-08-04 07:56:35 -03:00
Antti Palosaari 5da2aecb46 [media] af9035: convert to new DVB USB
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:35 -03:00
Antti Palosaari 191f79a4d7 [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>
2012-08-04 07:56:35 -03:00
Antti Palosaari e80896616c [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>
2012-08-04 07:56:35 -03:00
Antti Palosaari f89f9ff883 [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>
2012-08-04 07:56:34 -03:00
Antti Palosaari 1a590010a2 [media] af9015: update USB streaming configuration logic
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:34 -03:00
Antti Palosaari 6400a8c5af [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>
2012-08-04 07:56:34 -03:00
Antti Palosaari 12077a3aa4 [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>
2012-08-04 07:56:34 -03:00
Antti Palosaari ddee56943a [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>
2012-08-04 07:56:34 -03:00
Antti Palosaari dd5e52cdf9 [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>
2012-08-04 07:56:34 -03:00
Antti Palosaari 6dca4ea3ec [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>
2012-08-04 07:56:33 -03:00
Antti Palosaari d70521a396 [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>
2012-08-04 07:56:33 -03:00
Antti Palosaari ad26183931 [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>
2012-08-04 07:56:33 -03:00
Antti Palosaari 6e3a5daa6e [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>
2012-08-04 07:56:33 -03:00
Antti Palosaari ffe4ac92ee [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>
2012-08-04 07:56:32 -03:00
Malcolm Priestley c65bcb95be [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>
2012-08-04 07:56:32 -03:00
Antti Palosaari a4e7c51edd [media] anysee: convert to new DVB USB
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:32 -03:00
Antti Palosaari 2cc53dc828 [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>
2012-08-04 07:56:32 -03:00
Antti Palosaari ec04745790 [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>
2012-08-04 07:56:32 -03:00
Antti Palosaari ab84f182f0 [media] ce6230: convert to new DVB USB
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:32 -03:00
Antti Palosaari 877e0aa790 [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>
2012-08-04 07:56:31 -03:00
Antti Palosaari cb4f77a385 [media] au6610: convert to new DVB USB
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:31 -03:00
Antti Palosaari 77e28ec279 [media] ec168: re-implement firmware loading
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:31 -03:00
Antti Palosaari d32be21800 [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>
2012-08-04 07:56:31 -03:00
Antti Palosaari ce6ea9a942 [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>
2012-08-04 07:56:31 -03:00
Antti Palosaari 3eee04722f [media] ec168: convert to new DVB USB
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:31 -03:00
Antti Palosaari f093c388ef [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>
2012-08-04 07:56:30 -03:00
Antti Palosaari 53dc194f0c [media] af9015: suspend/resume
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:30 -03:00
Antti Palosaari acaec14f3e [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>
2012-08-04 07:56:30 -03:00
Antti Palosaari 2d2b37c75a [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>
2012-08-04 07:56:30 -03:00
Antti Palosaari b00a901801 [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>
2012-08-04 07:56:30 -03:00
Antti Palosaari ef81e9ebbe [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>
2012-08-04 07:56:29 -03:00
Antti Palosaari 5b6a63cc2f [media] dvb_usb_v2: add .disconnect() callback
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:29 -03:00
Antti Palosaari 823eebac89 [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>
2012-08-04 07:56:29 -03:00
Antti Palosaari d496eb8ae4 [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>
2012-08-04 07:56:29 -03:00
Antti Palosaari 0fba999f13 [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>
2012-08-04 07:56:28 -03:00
Antti Palosaari 77f54517fd [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>
2012-08-04 07:56:28 -03:00
Antti Palosaari a3645e5430 [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>
2012-08-04 07:56:28 -03:00
Antti Palosaari 597843435c [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>
2012-08-04 07:56:28 -03:00
Antti Palosaari 3238aafbc3 [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>
2012-08-04 07:56:28 -03:00
Antti Palosaari 36a5c2bded [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>
2012-08-04 07:56:28 -03:00
Antti Palosaari 65de8f978f [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>
2012-08-04 07:56:27 -03:00
Antti Palosaari 3676403764 [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>
2012-08-04 07:56:27 -03:00
Antti Palosaari 6b8c8c4089 [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>
2012-08-04 07:56:27 -03:00
Antti Palosaari a177c72bf5 [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>
2012-08-04 07:56:27 -03:00
Antti Palosaari 23d8e63a90 [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>
2012-08-04 07:56:27 -03:00
Antti Palosaari cce99cf933 [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>
2012-08-04 07:56:27 -03:00
Antti Palosaari 96ffea88cd [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>
2012-08-04 07:56:26 -03:00
Antti Palosaari 4f208d4e2d [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>
2012-08-04 07:56:26 -03:00
Antti Palosaari 0a8673569f [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>
2012-08-04 07:56:26 -03:00
Antti Palosaari e48b2a6861 [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>
2012-08-04 07:56:26 -03:00
Antti Palosaari e80e9af308 [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>
2012-08-04 07:56:26 -03:00
Antti Palosaari 19ec2728d7 [media] dvb_usb_v2: use dynamic debugs
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:26 -03:00
Antti Palosaari 0359b5fa9e [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>
2012-08-04 07:56:25 -03:00
Antti Palosaari a0d72d246d [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>
2012-08-04 07:56:25 -03:00
Antti Palosaari 21f5a32e1f [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>
2012-08-04 07:56:25 -03:00
Antti Palosaari 1c9c73b7db [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>
2012-08-04 07:56:25 -03:00
Antti Palosaari 20bb9cc483 [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>
2012-08-04 07:56:24 -03:00
Antti Palosaari fec88df01d [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>
2012-08-04 07:56:24 -03:00
Antti Palosaari e46c5b66da [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>
2012-08-04 07:56:24 -03:00
Antti Palosaari 3024985d15 [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>
2012-08-04 07:56:24 -03:00
Antti Palosaari b6ecf8bb4e [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>
2012-08-04 07:56:23 -03:00
Antti Palosaari 3256cdef6e [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>
2012-08-04 07:56:23 -03:00
Antti Palosaari 39831f094f [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>
2012-08-04 07:56:23 -03:00
Antti Palosaari 15072bba79 [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>
2012-08-04 07:56:23 -03:00
Antti Palosaari bce1c02902 [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>
2012-08-04 07:56:22 -03:00
Antti Palosaari 0575289041 [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>
2012-08-04 07:56:22 -03:00
Antti Palosaari 19b308c035 [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>
2012-08-04 07:56:22 -03:00
Antti Palosaari 005bc3fce7 [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>
2012-08-04 07:56:22 -03:00
Antti Palosaari 649216704a [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>
2012-08-04 07:56:22 -03:00
Antti Palosaari 43402bbde5 [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>
2012-08-04 07:56:22 -03:00
Antti Palosaari 5b85300413 [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>
2012-08-04 07:56:21 -03:00
Antti Palosaari 7dfd1242aa [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>
2012-08-04 07:56:21 -03:00
Antti Palosaari 4e60d951ea [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>
2012-08-04 07:56:21 -03:00
Antti Palosaari 8b9dff5828 [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>
2012-08-04 07:56:21 -03:00
Antti Palosaari 496e827899 [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>
2012-08-04 07:56:20 -03:00
Antti Palosaari 55b1f70404 [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>
2012-08-04 07:56:20 -03:00
Antti Palosaari 654e62dc20 [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>
2012-08-04 07:56:20 -03:00
Antti Palosaari 65871deb7d [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>
2012-08-04 07:56:20 -03:00
Antti Palosaari 1bf325db6b [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>
2012-08-04 07:56:20 -03:00
Antti Palosaari dc78693706 [media] dvb_usb_v2: add .init() callback
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:19 -03:00
Antti Palosaari c79b339f92 [media] dvb_usb_v2: copy current dvb_usb as a starting point
Use current implementation as a starting point for the new one.

[mchehab@redhat.com: remove the new files from the build system,
 as the symbols there conflict with the existing ones]
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:19 -03:00
Mauro Carvalho Chehab f9cd49033b Linux 3.6-rc1
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.18 (GNU/Linux)
 
 iQEcBAABAgAGBQJQGw9xAAoJEHm+PkMAQRiGN+IH/3zr/+QR0hux6CwKLZTDSa0Q
 kXwLEJPaoZu/AOwUD347hxwAYdTx5oF35YPdijz0DrGCxuITdaLb0MBJi107NMQZ
 wED426KEk61vmGHT0AHn1RSq62QJEGSN9d7Xd35XlACMIgcPdrWIDAe0fylRpBN2
 jB9fkaH8FE2ssSjaHDUTPWlHq/dD5i/GELH8/4RWao4CVzbdwc9R3taYk2XlPkc6
 C3E+Ow5RvL3s8LfNz5K+K0WTs+e1hc7aloicgOgBdoczuwNi+bCn4KHVPl/2g7Ag
 I3J0b0ZZNvkG9bv7WLPX/hgY8tijjvJfIljvb+mnPa0W0KHyYoonlpKaXTDfxH0=
 =82iL
 -----END PGP SIGNATURE-----

Merge tag 'v3.6-rc1' into staging/for_v3.6

Linux 3.6-rc1

* tag 'v3.6-rc1': (18733 commits)
  Linux 3.6-rc1
  mm: remove node_start_pfn checking in new WARN_ON for now
  ARM: mmp: add missing irqs.h
  arm: mvebu: fix typo in .dtsi comment for Armada XP SoCs
  ARM: PRIMA2: delete redundant codes to restore LATCHED when timer resumes
  libceph: fix crypto key null deref, memory leak
  ceph: simplify+fix atomic_open
  sh: explicitly include sh_dma.h in setup-sh7722.c
  um: Add arch/x86/um to MAINTAINERS
  um: pass siginfo to guest process
  um: fix ubd_file_size for read-only files
  md/dm-raid: DM_RAID should select MD_RAID10
  md/raid1: submit IO from originating thread instead of md thread.
  raid5: raid5d handle stripe in batch way
  raid5: make_request use batch stripe release
  um: pull interrupt_end() into userspace()
  um: split syscall_trace(), pass pt_regs to it
  um: switch UPT_SET_RETURN_VALUE and regs_return_value to pt_regs
  MIPS: Loongson 2: Sort out clock managment.
  locks: remove unused lm_release_private
  ...
2012-08-03 22:41:33 -03:00
Linus Torvalds 8762541f06 Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull second set of media updates from Mauro Carvalho Chehab:

 - radio API: add support to work with radio frequency bands

 - new AM/FM radio drivers: radio-shark, radio-shark2

 - new Remote Controller USB driver: iguanair

 - conversion of several drivers to the v4l2 core control framework

 - new board additions at existing drivers

 - the remaining (and vast majority of the patches) are due to
   drivers/DocBook fixes/cleanups.

* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (154 commits)
  [media] radio-tea5777: use library for 64bits div
  [media] tlg2300: Declare MODULE_FIRMWARE usage
  [media] lgs8gxx: Declare MODULE_FIRMWARE usage
  [media] xc5000: Add MODULE_FIRMWARE statements
  [media] s2255drv: Add MODULE_FIRMWARE statement
  [media] dib8000: move dereference after check for NULL
  [media] Documentation: Update cardlists
  [media] bttv: add support for Aposonic W-DVR
  [media] cx25821: Remove bad strcpy to read-only char*
  [media] pms.c: remove duplicated include
  [media] smiapp-core.c: remove duplicated include
  [media] via-camera: pass correct format settings to sensor
  [media] rtl2832.c: minor cleanup
  [media] Add support for the IguanaWorks USB IR Transceiver
  [media] Minor cleanups for MCE USB
  [media] drivers/media/dvb/siano/smscoreapi.c: use list_for_each_entry
  [media] Use a named union in struct v4l2_ioctl_info
  [media] mceusb: Add Twisted Melon USB IDs
  [media] staging/media/solo6x10: use module_pci_driver macro
  [media] staging/media/dt3155v4l: use module_pci_driver macro
  ...

Conflicts:
	Documentation/feature-removal-schedule.txt
2012-07-31 18:47:44 -07:00
Mauro Carvalho Chehab adfe1560de [media] radio-tea5777: use library for 64bits div
drivers/built-in.o: In function `radio_tea5777_set_freq':
radio-tea5777.c:(.text+0x4d8704): undefined reference to `__udivdi3'

Reported-by: Randy Dunlap <rdunlap@xenotime.net>
Cc: Hans de Goede <hdegoede@redhat.com>
Acked-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-31 18:24:44 -03:00
Mauro Carvalho Chehab 2f2da1e299 [media] radio-tea5777: use library for 64bits div
drivers/built-in.o: In function `radio_tea5777_set_freq':
radio-tea5777.c:(.text+0x4d8704): undefined reference to `__udivdi3'

Reported-by: Randy Dunlap <rdunlap@xenotime.net>
Cc: Hans de Goede <hdegoede@redhat.com>
Acked-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-31 18:21:45 -03:00
Jiri Slaby 24ed693da0 [media] DVB: dib0700, remove double \n's from log
err() already adds \n to the end of the format string. So remove one
more \n from formatting strings in the dib0700 driver.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-31 00:36:03 -03:00
Djuri Baars 076f0e359e [media] Add support for the Terratec Cinergy T Dual PCIe IR remote
The following patch adds support for the infrared remote included in
the Terratec Cinergy T Dual PCIe card.

Signed-off-by: Djuri Baars <dsbaars@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-31 00:18:58 -03:00
Tim Gardner 8a7bf1d446 [media] cx18: Declare MODULE_FIRMWARE usage
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Acked-by: Andy Walls <awalls@md.metrocast.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-31 00:12:26 -03:00
Tim Gardner 740a3ea20d [media] pvrusb2: Declare MODULE_FIRMWARE usage
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Acked-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-31 00:12:20 -03:00
Tim Gardner 583087f567 [media] cx23885: Declare MODULE_FIRMWARE usage
Cc: Steven Toth <stoth@kernellabs.com>
Cc: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-31 00:12:11 -03:00
Tim Gardner b8320e95f7 [media] cx231xx: Declare MODULE_FIRMWARE usage
Cc: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-31 00:12:02 -03:00
Tim Gardner eb3058e78c [media] ivtv: Declare MODULE_FIRMWARE usage
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Acked-by: Andy Walls <awalls@md.metrocast.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-31 00:11:55 -03:00
Tim Gardner 47c75f773c [media] cx25840: Declare MODULE_FIRMWARE usage
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Acked-by: Andy Walls <awalls@md.metrocast.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-31 00:11:45 -03:00
Sachin Kamat b42353011e [media] s5k6aa: Add missing static storage class specifier
Fixes the following sparse warning:
drivers/media/video/s5k6aa.c:1439:5: warning:
symbol 's5k6aa_check_fw_revision' was not declared. Should it be static?

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 23:49:28 -03:00
Tim Gardner 4d98015eef [media] tlg2300: Declare MODULE_FIRMWARE usage
Cc: Huang Shijie <shijie8@gmail.com>
Cc: Kang Yong <kangyong@telegent.com>
Cc: Zhang Xiaobing <xbzhang@telegent.com>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: linux-media@vger.kernel.org
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Acked-by: Huang Shijie <shijie8@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 23:46:53 -03:00
Tim Gardner ccb7c5939c [media] lgs8gxx: Declare MODULE_FIRMWARE usage
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: Hans Verkuil <hans.verkuil@cisco.com>
Cc: linux-media@vger.kernel.org
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 23:46:36 -03:00
Tim Gardner 3422f2a6bc [media] xc5000: Add MODULE_FIRMWARE statements
This will make modinfo more useful with regard
to discovering necessary firmware files.

Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: Michael Krufky <mkrufky@kernellabs.com>
Cc: Eddi De Pieri <eddi@depieri.net>
Cc: linux-media@vger.kernel.org
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 23:31:42 -03:00
Tim Gardner 1bec982dd4 [media] s2255drv: Add MODULE_FIRMWARE statement
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: Dean Anderson <linux-dev@sensoray.com>
Cc: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: linux-media@vger.kernel.org
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 23:21:56 -03:00
Dan Carpenter e04f4b2deb [media] dib8000: move dereference after check for NULL
My static checker complains that we dereference "state" inside the call
to fft_to_mode() before checking for NULL.  The comments say that it is
possible for "state" to be NULL so I have moved the dereference after
the check.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 23:16:45 -03:00
Tony Gentile 9d2952d70f [media] bttv: add support for Aposonic W-DVR
Forwarded-by: Gerd Hoffmann <kraxel@bytesex.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 23:10:14 -03:00
Ezequiel García c854d8883f [media] cx25821: Remove bad strcpy to read-only char*
The strcpy was being used to set the name of the board.
This was both wrong and redundant,
since the destination char* was read-only and
the name is set statically at compile time.

The type of the name field is changed to const char*
to prevent future errors.

Reported-by: Radek Masin <radek@masin.eu>
Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 23:04:57 -03:00
Linus Torvalds 6df419e45d Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab:
 "This is the first part of the media patches for v3.6.

  This patch series contain:
   - new DVB frontend: rtl2832
   - new video drivers: adv7393
   - some unused files got removed
   - a selection API cleanup between V4L2 and V4L2 subdev API's
   - a major redesign at v4l-ioctl2, in order to clean it up
   - several driver fixes and improvements."

* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (174 commits)
  v4l: Export v4l2-common.h in include/linux/Kbuild
  media: Revert "[media] Terratec Cinergy S2 USB HD Rev.2"
  [media] media: Use pr_info not homegrown pr_reg macro
  [media] Terratec Cinergy S2 USB HD Rev.2
  [media] v4l: Correct conflicting V4L2 subdev selection API documentation
  [media] Feature removal: V4L2 selections API target and flag definitions
  [media] v4l: Unify selection flags documentation
  [media] v4l: Unify selection flags
  [media] v4l: Common documentation for selection targets
  [media] v4l: Unify selection targets across V4L2 and V4L2 subdev interfaces
  [media] v4l: Remove "_ACTUAL" from subdev selection API target definition names
  [media] V4L: Remove "_ACTIVE" from the selection target name definitions
  [media] media: dvb-usb: print mac address via native %pM
  [media] s5p-tv: Use module_i2c_driver in sii9234_drv.c file
  [media] media: gpio-ir-recv: add allowed_protos for platform data
  [media] s5p-jpeg: Use module_platform_driver in jpeg-core.c file
  [media] saa7134: fix spelling of detach in label
  [media] cx88-blackbird: replace ioctl by unlocked_ioctl
  [media] cx88: don't use current_norm
  [media] cx88: fix a number of v4l2-compliance violations
  ...
2012-07-30 19:03:41 -07:00
Duan Jiong eabdc68fff [media] pms.c: remove duplicated include
Signed-off-by: Duan Jiong <djduanjiong@gmail.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 22:59:27 -03:00
Duan Jiong dee923bdd1 [media] smiapp-core.c: remove duplicated include
Signed-off-by: Duan Jiong <djduanjiong@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 22:59:08 -03:00
Daniel Drake 7980a4d544 [media] via-camera: pass correct format settings to sensor
The code attempts to maintain a "user format" and a "sensor format",
but in this case it looks like a typo is passing the user format down
to the sensor.

This was preventing display of video at anything other than 640x480.

Signed-off-by: Daniel Drake <dsd@laptop.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 22:01:08 -03:00
Hans-Frieder Vogt fc4b3fa714 [media] rtl2832.c: minor cleanup
The current formulation of the bw_params loop uses the counter j as an
index for the first dimension of the bw_params array which is later
incremented by the variable i. It is evaluated correctly only, because j
is initialized to 0 at the beginning of the loop. I think that
explicitly using the index 0 better reflects the intent of the
expression.

Signed-off-by: Hans-Frieder Vogt <hfvogt@gmx.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 21:55:14 -03:00
Sean Young 26ff63137c [media] Add support for the IguanaWorks USB IR Transceiver
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 21:53:49 -03:00
Sean Young 6ac454aa98 [media] Minor cleanups for MCE USB
Signed-off-by: Sean Young <sean@mess.org>
Cc: Jarod Wilson <jarod@wilsonet.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 21:50:19 -03:00
Julia Lawall 0208c15e5c [media] drivers/media/dvb/siano/smscoreapi.c: use list_for_each_entry
Use list_for_each_entry and perform some other induced simplifications.

The semantic match that finds the opportunity for this reorganization is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@@
struct list_head *pos;
struct list_head *head;
statement S;
@@

*for (pos = (head)->next; pos != (head); pos = pos->next)
S
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 21:48:05 -03:00
Hans Verkuil 26ddcbcca3 [media] Use a named union in struct v4l2_ioctl_info
Hi Mauro,

struct v4l2_ioctl_info uses an anonymous union, which is initialized
in the v4l2_ioctls table.

Unfortunately gcc < 4.6 uses a non-standard syntax for that, so trying to
compile v4l2-ioctl.c with an older gcc will fail.

It is possible to work around this by testing the gcc version, but in this
case it is easier to make the union named since it is used in only a few
places.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Reported-by: Randy Dunlap <rdunlap@xenotime.net>
Acked-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 21:43:25 -03:00
Mark Lord a4de5f058c [media] mceusb: Add Twisted Melon USB IDs
Add USB identifiers for MCE compatible I/R transceivers from Twisted Melon.

Signed-off-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 21:36:03 -03:00
Akinobu Mita 9a601396e8 video/uvc: use memweight()
Use memweight() to count the total number of bits set in memory area.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-07-30 17:25:16 -07:00
Du, Changbin a342daea70 [media] rc: ati_remote.c: code style fixing
changes:
	1. wrap some lines that are longer than 80 characters.
	2. remove local function prototype declarations which do not
	   need.
	3. replace TAB character with a space character in function
	   comments.

Signed-off-by: Du, Changbin <changbin.du@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 21:17:23 -03:00
Douglas Bagnall 720bb6436f [media] Avoid sysfs oops when an rc_dev's raw device is absent
For some reason, when the lirc daemon learns that a usb remote control
has been unplugged, it wants to read the sysfs attributes of the
disappearing device. This is useful for uncovering transient
inconsistencies, but less so for keeping the system running when such
inconsistencies exist.

Under some circumstances (like every time I unplug my dvb stick from
my laptop), lirc catches an rc_dev whose raw event handler has been
removed (presumably by ir_raw_event_unregister), and proceeds to
interrogate the raw protocols supported by the NULL pointer.

This patch avoids the NULL dereference, and ignores the issue of how
this state of affairs came about in the first place.

Version 2 incorporates changes recommended by Mauro Carvalho Chehab
(-ENODEV instead of -EINVAL, and a signed-off-by).

Signed-off-by: Douglas Bagnall <douglas@paradise.net.nz>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 21:15:32 -03:00
Ezequiel García 8f695d3f07 [media] v4l2-dev.c: Move video_put() after debug printk
It is possible that video_put() releases video_device struct,
provoking a panic when debug printk wants to get video_device node name.

Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 21:11:35 -03:00
Hans Verkuil cd779254f9 [media] vivi: fix a few format-related compliance issues
This patch will always set the field to INTERLACED (this fixes a bug were a driver should
never return FIELD_ANY), and will default to YUYV pixelformat if an unknown pixelformat
was specified.

This way S/TRY_FMT will always return a valid format struct.

Regards,

	Hans

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 21:09:46 -03:00
Alan Cox 5a7a570bf4 [media] az6007: fix incorrect memcpy
Some parts of the C language are subtle and evil. This is one example.

Resolves-bug: https://bugzilla.kernel.org/show_bug.cgi?id=44041

Reported-by: dcb314@hotmail.com
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 21:04:58 -03:00
Alan Cox c79a3c3524 [media] cx25821,medusa: incorrect check on decoder type
Unsupported requests should be ignored but in fact affected VDEC_A

Resolves-bug: https://bugzilla.kernel.org/show_bug.cgi?id=44051

Reported-by: dcb314@hotmail.com
Signed-off-by: Alan Cox <alan@linux.intel.com>
Cc: Palash Bandyopadhyay <Palash.Bandyopadhyay@conexant.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 21:02:35 -03:00
Alan Cox 908d4d141f [media] ov9640: fix missing break
Without this rev2 ends up behaving as rev3

Resolves-bug: https://bugzilla.kernel.org/show_bug.cgi?id=44081

Reported-by: dcb314@hotmail.com
Signed-off-by: Alan Cox <alan@linux.intel.com>
Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 21:02:34 -03:00
Prabhakar Lad 4927c3f1c4 [media] davinci: vpbe: fix build error when CONFIG_VIDEO_ADV_DEBUG is enabled
Fix build error when CONFIG_VIDEO_ADV_DEBUG is enabled,
declare the vpbe_dev variable.

Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 21:02:28 -03:00
Nicolas THERY 53aa3b19c5 [media] v4l: fix copy/paste typo in vb2_reqbufs comment
Signed-off-by: Nicolas Thery <nicolas.thery@st.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 20:40:29 -03:00
Dan Carpenter f088ccd640 [media] tuner-xc2028: unlock on error in xc2028_get_afc()
We need to do a mutex_unlock(&priv->lock) before returning.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 20:37:19 -03:00
Prabhakar Lad dcf4fc2e2e [media] davinci: vpbe: fix check for s_dv_preset function pointer
fix check for s_dv_preset function pointer to be NULL.
return -EINVAL if function pointer is NULL.

Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 20:34:13 -03:00
Dan Carpenter 3a495ed77a [media] tuner-xc2028: fix "=" vs "==" typo
We intended to do a compare here, not an assignment.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 20:33:08 -03:00
Hans Verkuil 1a17a942cd [media] vivi: remove pointless video_nr++
Remove the pointless video_nr++. It doesn't do anything useful and it has
the unexpected side-effect of changing the video_nr module option, so
cat /sys/module/vivi/parameters/video_nr gives a different value back
then what was specified with modprobe.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 20:31:56 -03:00
Hans de Goede f140612d02 [media] radio-si470x: Add support for the new band APIs
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 20:23:14 -03:00
Hans de Goede 8d8c1b375c [media] radio-si470x: Fix band selection
The mask was wrong resulting in band 0 and 1 always ending up as band 0
in the register.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 20:23:13 -03:00
Hans de Goede c1af23c4f7 [media] radio-si470x: restore ctrl settings after suspend/resume
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 20:23:12 -03:00
Hans Verkuil 6652c716a5 [media] radio-cadet: implement frequency band enumeration
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 20:23:10 -03:00
Hans Verkuil cc0d32665f [media] radio-cadet: fix RDS handling
The current RDS code suffered from bit rot. Clean it up and make it work again.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 20:23:09 -03:00
Hans Verkuil b54c97db7f [media] radio-cadet: upgrade to latest frameworks
- add control framework
- use core locking
- use V4L2_TUNER_CAP_LOW
- remove volume support: there is no hardware volume control

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 20:23:08 -03:00
Hans Verkuil 82b655bfc3 [media] v4l2: add core support for the new VIDIOC_ENUM_FREQ_BANDS ioctl
This adds the usual core support code for this new ioctl.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 20:23:05 -03:00
Dan Carpenter afcc8e8c34 [media] tvp5150: signedness bug in tvp5150_selmux()
tvp5150_read() returns negative error codes so this needs to be an int
for the error handling to work.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 20:22:38 -03:00
Sachin Kamat 79ef87edea [media] videobuf-dma-contig: Use NULL instead of plain integer
Fixes the following sparse warning:
drivers/media/video/videobuf-dma-contig.c:59:46:
warning: Using plain integer as NULL pointer

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 20:22:37 -03:00
Hans de Goede db3912c073 [media] radio-si470x: Lower firmware version requirements
Testing with a firmware version 12 usb radio stick has shown version 12
to work fine too.

Reported-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 20:22:35 -03:00
Federico Vaga c9fbedddc2 [media] adv7180.c: convert to v4l2 control framework
[mchehab@redhat.com: fix checkpatch.pl ERROR:
 Macros with complex values should be enclosed in parenthesis]

Signed-off-by: Federico Vaga <federico.vaga@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 20:22:34 -03:00
Sachin Kamat c082266f60 [media] V4L: Use NULL pointer instead of plain integer in v4l2-ctrls.c file
Fixes the following sparse warning:
drivers/media/video/v4l2-ctrls.c:2123:43: warning: Using plain integer as NULL pointer

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:54:53 -03:00
Dror Cohen 6f45b1b9f7 [media] media/video: vpif: fixed vpfe->vpif typo
Signed-off-by: Dror Cohen <dror@liveu.tv>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:54:41 -03:00
Ezequiel García c21813e974 [media] cx25821: Replace struct memcpy with struct assignment
Copying structs by assignment is type safe.
Plus, is shorter and easier to read.

Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:54:25 -03:00
Ezequiel García 23ba641a08 [media] cx231xx: Replace struct memcpy with struct assignment
Copying structs by assignment is type safe.
Plus, is shorter and easier to read.

Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:54:15 -03:00
Ezequiel García 630081e990 [media] cx23885: Replace struct memcpy with struct assignment
Copying structs by assignment is type safe.
Plus, is shorter and easier to read.

Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:53:55 -03:00
Ezequiel García ddebe8cdd6 [media] saa7164: Replace struct memcpy with struct assignment
Copying structs by assignment is type safe.
Plus, is shorter and easier to read.

Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:53:46 -03:00
Ezequiel García 5a6fa3fe9a [media] saa7164: Remove unused saa7164_call_i2c_clients()
This function has no users, so it's safe to remove it.
Tested by compilation only.

Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:53:30 -03:00
Ezequiel García b26f453963 [media] cx25821: Remove useless struct i2c_algo_bit_data
The field 'struct i2c_algo_bit_data i2c_algo' is wrongly confused with
struct i2c_algorithm. Moreover, i2c_algo field is not used since
i2c is registered using i2c_add_adpater() and not i2c_bit_add_bus().
Therefore, it's safe to remove it.
Tested by compilation only.

Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:53:03 -03:00
Ezequiel García 2728635403 [media] cx231xx: Remove useless struct i2c_algo_bit_data
The field 'struct i2c_algo_bit_data i2c_algo' is wrongly confused with
struct i2c_algorithm. Moreover, i2c_algo field is not used since
i2c is registered using i2c_add_adpater() and not i2c_bit_add_bus().
Therefore, it's safe to remove it.
Tested by compilation only.

Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:52:52 -03:00
Ezequiel García c410d09bf3 [media] cx23885: Remove useless struct i2c_algo_bit_data
The field 'struct i2c_algo_bit_data i2c_algo' is wrongly confused with
struct i2c_algorithm. Moreover, i2c_algo field is not used since
i2c is registered using i2c_add_adpater() and not i2c_bit_add_bus().
Therefore, it's safe to remove it.
Tested by compilation only.

Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:52:39 -03:00
Ezequiel García 6fe31039d4 [media] saa7164: Remove useless struct i2c_algo_bit_data
The field 'struct i2c_algo_bit_data i2c_algo' is wrongly confused with
struct i2c_algorithm. Moreover, i2c_algo field is not used since
i2c is registered using i2c_add_adpater() and not i2c_bit_add_bus().
Therefore, it's safe to remove it.
Tested by compilation only.

Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:52:22 -03:00
Sylwester Nawrocki f0476a83d6 [media] V4L: Add capability flags for memory-to-memory devices
This patch adds new V4L2_CAP_VIDEO_M2M and V4L2_CAP_VIDEO_M2M_MPLANE
capability flags that are intended to be used for memory-to-memory (M2M)
devices, instead of ORed V4L2_CAP_VIDEO_CAPTURE and V4L2_CAP_VIDEO_OUTPUT.

V4L2_CAP_VIDEO_M2M flag is added at the drivers, CAPTURE and OUTPUT
capability flags are left untouched and will be removed in future,
after a transition period required for existing applications to be
adapted to check only for V4L2_CAP_VIDEO_M2M.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Kamil Debski <k.debski@samsung.com>
Acked-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:31:53 -03:00
Sylwester Nawrocki 6126b912c8 [media] m5mols: Correct reported ISO values
The V4L2_CID_ISO_SENSITIVITY control menu values should be
standard ISO values multiplied by 1000. Multiply all menu
items by 1000 so ISO is properly reported as 50...3200 range.

This applies to kernels 3.5+.

Cc: stable@vger.kernel.org
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:23:33 -03:00
Sylwester Nawrocki 31ce54f6ae [media] s5p-fimc: Use switch statement for better readability
Use switch statement rather than multiple 'else if'.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:23:17 -03:00
Sachin Kamat a516d08fa6 [media] s5p-fimc: Replace custom err() macro with v4l2_err() macro
Replace custom err() macro with v4l2_err() macro.

[s.nawrocki: added missing end-of-line at the log print]

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:23:01 -03:00
Sylwester Nawrocki c2d430af08 [media] s5p-fimc: Remove V4L2_FL_LOCK_ALL_FOPS flag
This patch adds locking for open(), close(), poll() and mmap()
file operations in the driver as a follow up to the changes
done in commit 5126f2590b
"v4l2-dev: add flag to have the core lock all file operations".

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:22:44 -03:00
Hans Verkuil 837c7e4256 [media] v4l2-dev: G_PARM was incorrectly enabled for all video nodes
G_PARM should only be enabled if:

- vidioc_g_parm is present
- or: it is a video node and vidioc_g_std or tvnorms are set.

Without this additional check v4l2-compliance would complain about
being able to use g_parm when it didn't expect it.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:20:44 -03:00
Hans Verkuil 47556ffaf2 [media] mem2mem_testdev: set default size and fix colorspace
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:20:21 -03:00
Hans Verkuil 97a3c902e9 [media] mem2mem_testdev: add control events support
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:20:10 -03:00
Hans Verkuil 08eb85100d [media] v4l2-mem2mem: support events in v4l2_m2m_poll
v4l2_m2m_poll didn't support events, but that's essential if you want to
be able to use control events for example.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:20:00 -03:00
Hans Verkuil b0d1499634 [media] mem2mem_testdev: set bus_info and device_caps
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:19:51 -03:00
Hans Verkuil d3dd59c232 [media] mem2mem_testdev: convert to the control framework and v4l2_fh
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:19:31 -03:00
Laurent Pinchart 7bf6afbb6b [media] tw9910: Don't access the device in the g_mbus_fmt operation
The g_mbus_fmt operation only needs to return the current mbus frame
format and doesn't need to configure the hardware to do so. Fix it to
avoid requiring the chip to be powered on when calling the operation.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:15:53 -03:00
Laurent Pinchart f2730756ad [media] ov772x: Don't access the device in the g_mbus_fmt operation
The g_mbus_fmt operation only needs to return the current mbus frame
format and doesn't need to configure the hardware to do so. Fix it to
avoid requiring the chip to be powered on when calling the operation.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:15:13 -03:00
Laurent Pinchart f985983912 [media] ov2640: Don't access the device in the g_mbus_fmt operation
The g_mbus_fmt operation only needs to return the current mbus frame
format and doesn't need to configure the hardware to do so. Fix it to
avoid requiring the chip to be powered on when calling the operation.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:14:48 -03:00
Laurent Pinchart 2744782ef1 [media] soc-camera: Pass the physical device to the power operation
There will be no soc_camera_device instance with a soc-camera device is
used with a non soc-camera host, so we won't be able to pass the
soc_camera_device fake platform device to board code. Pass the physical
device instead.

The argument is currently not used by any board file so this is safe.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:14:17 -03:00
Laurent Pinchart 1858c99db4 [media] soc-camera: Don't fail at module init time if no device is present
The soc-camera module exports functions that are needed by soc-camera
client drivers even when not running in soc-camera mode. Replace the
platform_driver_probe() with a platform_driver_register() call to avoid
module load failures if no soc-camera device is present.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:13:39 -03:00
Hans Verkuil a1acb8f9a0 [media] v4l2-ioctl.c: zero the v4l2_dv_timings_cap struct
Zero all fields after the first type field.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: stable@kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:12:27 -03:00
Hans Verkuil 4c1110aabe [media] v4l2-dev: forgot to add VIDIOC_DV_TIMINGS_CAP
The VIDIOC_DV_TIMINGS_CAP ioctl check wasn't added to determine_valid_ioctls().
This caused this ioctl to always return -ENOTTY.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: stable@kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:11:04 -03:00
Manjunath Hadli 2c026deed9 [media] davinci: vpif: Enable selection of the ADV7343 and THS7303
The auto selection of pertinent helper chips (VIDEO_HELPER_CHIPS_AUTO)
should select the ADV7343 and THS7303 driver, which is used by VPIF
display driver.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:09:46 -03:00
Manjunath Hadli 0fd4652108 [media] davinci: vpif: add build configuration for vpif drivers
add generic build configuration for vpif capture
and display drivers as it is common for DM6467/DA850/OMAP-L138.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:09:09 -03:00
Manjunath Hadli 31415d0ef3 [media] davinci: vpif: Add suspend/resume callbacks to vpif driver
add clock enable and disable in probe and remove functions.
Probe will succeed only if the device clock is provided instead of
assuming that the clock is always enabled. VPIF clock has to be
dealt with during suspend and resume. Implement power management
callbacks to VPIF driver to disable/enable clock on suspend/resume
respectively.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:08:34 -03:00
Manjunath Hadli 3d5946dcfd [media] davinci: vpif capture:Add power management support
Implement power management operations - suspend and resume as part of
dev_pm_ops for VPIF capture driver.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:08:20 -03:00
Manjunath Hadli e9530dac31 [media] davinci: vpif display: Add power management support
Implement power management operations - suspend and resume as part of
dev_pm_ops for VPIF display driver.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:07:30 -03:00
Manjunath Hadli 6964b10363 [media] davinci: vpif: add support for clipping on output data
add hardware clipping support for VPIF output data. This
is needed as it is possible that the external encoder
might get confused between the FF or 00 which are a part
of the data and that of the SAV or EAV codes.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:06:55 -03:00
Lad, Prabhakar 2401dd25c7 [media] davinci: vpif display: migrate driver to videobuf2
This patch migrates VPIF display driver to videobuf2 framework.

Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:06:33 -03:00
Lad, Prabhakar 60aa38d87d [media] davinci: vpif capture: migrate driver to videobuf2
This patch migrates VPIF capture driver to videobuf2 framework.

Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:05:29 -03:00
Manjunath Hadli 764af39aa4 [media] davinci: vpif capture: size up the memory for the buffers from the buffer pool
Size up the memory for the buffers from the buffer pool allocated in board
file.  Then adjust the reqbuf count depending the available memory.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:04:32 -03:00
Manjunath Hadli fc613d44e0 [media] davinci: vpif display: size up the memory for the buffers from the buffer pool
Size up the memory for the buffers from the buffer pool allocated in board
file.  Then adjust the reqbuf count depending the available memory.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:03:53 -03:00
Manjunath Hadli 3bc1953b22 [media] davinci: vpif: fix setting of data width in config_vpif_params() function
fix setting of data width in config_vpif_params() function,
which was wrongly set.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:02:28 -03:00
Manjunath Hadli 0316b89ae0 [media] davinci: vpif: make request_irq flags as shared
omap-l138 shares the interrupt between capture and display.
Make sure we are able to request for the same irq number
by making a shared irq request.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:01:44 -03:00
Manjunath Hadli 0a63172a8a [media] davinci: vpif: make generic changes to re-use the vpif drivers on da850/omap-l138 soc
change the dm646x specific strings in the driver to make
them generic across platforms. In this case change all the
strings which have a dm646x connotation to vpif which is a
platform independent ip.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 19:00:49 -03:00
Manjunath Hadli b1fc42302b [media] davinci: vpif: add check for genuine interrupts in the isr
As the same interrupt is shared between capture and display devices,
sometimes we get isr calls where the interrupt might not genuinely belong
to capture or display. Hence, add a condition in the isr to check for
interrupt ownership and channel number to make sure we do not
service wrong interrupts.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 18:59:50 -03:00
Lad, Prabhakar 4099040eaa [media] videobuf-dma-contig: restore buffer mapping for uncached bufers
from commit a8f3c203e1
restore the mapping scheme for uncached buffers,
which was changed in a common scheme for cached and uncached.
This apparently was wrong, and was probably intended only for cached buffers.
the fix fixes the crash observed while mapping uncached buffers.

Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Hadli, Manjunath <manjunath.hadli@ti.com>
Acked-by: Federico Vaga <federico.vaga@gmail.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: stable@kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 18:52:56 -03:00
Hans de Goede 4faba767c6 [media] shark2: New driver for the Griffin radioSHARK v2 USB radio receiver
This driver consists of 2 parts, a generic tea5777 driver and a driver
for the Griffin radioSHARK v2 USB radio receiver, which is the only driver
using the generic tea5777 for now.

This first version only implements FM support, once the the new
VIDIOC_ENUM_FREQ_BANDS API is upstream I'll also add AM support.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 18:46:17 -03:00
Hans Verkuil 7a3ed2d95e [media] v4l2-ioctl: Don't assume file->private_data always points to a v4l2_fh
Commit efbceecd45, adds a number of helper
functions for ctrl related ioctls to v4l2-ioctl.c, these helpers assume that
if file->private_data != NULL, it points to a v4l2_fh, which is only the case
for drivers which actually use v4l2_fh.

This breaks for example bttv which use the "filedata" pointer for its own uses,
and now all the ctrl ioctls try to use whatever its filedata points to as
v4l2_fh and think it has a ctrl_handler, leading to:

[  142.499214] BUG: unable to handle kernel NULL pointer dereference at 0000000000000021
[  142.499270] IP: [<ffffffffa01cb959>] v4l2_queryctrl+0x29/0x230 [videodev]
[  142.514649]  [<ffffffffa01c7a77>] v4l_queryctrl+0x47/0x90 [videodev]
[  142.517417]  [<ffffffffa01c58b1>] __video_do_ioctl+0x2c1/0x420 [videodev]
[  142.520116]  [<ffffffffa01c7ee6>] video_usercopy+0x1a6/0x470 [videodev]
...

This patch adds the missing test_bit(V4L2_FL_USES_V4L2_FH, &vfd->flags) tests
to the ctrl ioctl helpers v4l2_fh paths, fixing the issues with for example
the bttv driver.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 18:44:07 -03:00
Hans de Goede a2f8b84fed [media] v4l2-ctrls: Teach v4l2-ctrls that V4L2_CID_AUTOBRIGHTNESS is a boolean
And document V4L2_CID_AUTOBRIGHTNESS.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 18:42:44 -03:00
Hans de Goede 0dddf83869 [media] gspca: Don't use video_device_node_name in v4l2_device release handler
When the v4l2_device release handler gets called the kobject under
vdev->dev has already been released, so we cannot use kobject_name on
it (which video_device_node_name does).

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 18:42:10 -03:00
Hans de Goede 872099e806 [media] gspca_xirlink_cit: Grab backlight compensation control while streaming
As it cannot be changed while streaming.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 18:41:53 -03:00
Hans de Goede 1ea172d2fd [media] gspca_t613: Disable CIF resolutions
These are broken with my test cam and I've been unable to fix them.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 18:41:30 -03:00
Hans de Goede 3f25ea562b [media] gspca_stv0680: Remove empty ctrls array
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 18:41:13 -03:00
Hans de Goede a8931d5948 [media] gscpa_spca561: Add brightness control for rev12a cams
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 18:41:06 -03:00
Hans de Goede 9a3dafe431 [media] gspca_sn9c2028: Remove empty ctrls array
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 18:40:29 -03:00
Hans de Goede e163609ef7 [media] gspca_konica: Fix init sequence
The konica needs a freaking large time (circa 6.5 seconds) to "boot", and
does not want to be bothered while doing so, so sleep for 6 seconds, and
then query its status register at 100ms intervals until it becomes ready.

This removes the "reg_w err: -32" messages shown in dmesg whenever a
konica cam gets initialized, and also fixes the camera not working when
an app tries to use it directly after it has been plugged in and after
a suspend/resume cycle.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 18:40:19 -03:00
Hans de Goede 8bb58964bc [media] gspca: Add reset_resume callback to all sub-drivers
1) The gspca-core's suspend/resume code is such that resume being called after
a reset is safe / ok.

2) All devices tested sofar seem to need the reset_resume callback to work
properly over a suspend

3) The USB-core won't call the reset_resume callback for devices which don't
need it

Thus it seems the simplest and the best to just add the callback to all
sub-drivers, rather then adding the callbacks one-by-one as each driver gets
tested with suspend/resume.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 18:39:22 -03:00
Hans de Goede 1289179404 [media] gspca_benq: Remove empty ctrls array
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 18:38:40 -03:00
Hans de Goede b56ab4ca1c [media] gspca: Remove bogus JPEG quality controls from various sub-drivers
Various gspca-subdrivers have a JPEG quality control which only changes
the quantization tables in the JPEG headers send to user-space without
making any changes to the settings of the bridge. Remove these bogus / wrong
controls.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 18:38:24 -03:00
Hans Verkuil 82b343b231 [media] gspca: always call v4l2_ctrl_handler_setup after start
This ensures the controls are setup correctly.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 18:37:25 -03:00
Hans Verkuil ac3322b0d4 [media] gspca: clear priv field and disable relevant ioctls
The v4l2_pix_format priv field must be 0, so zero it.

Also disable ioctls that are not implemented by a subdriver.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 18:37:04 -03:00
Hans Verkuil 0cfe9de234 [media] gspca-topro: convert to the control framework
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 18:36:01 -03:00
Hans Verkuil 930806cb92 [media] vc032x: convert to the control framework
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 18:35:37 -03:00
Hans Verkuil d5d875cb8f [media] xirlink_cit: convert to the control framework
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 18:35:10 -03:00
Hans Verkuil 4910adf1d0 [media] vicam: convert to the control framework
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-07-30 18:34:17 -03:00