aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/common
Commit message (Collapse)AuthorAge
...
* [media] siano: split debugfs code into a separate fileMauro Carvalho Chehab2013-03-21
| | | | | | | To avoid mixing two different things at the same place, move the debugfs code into a separate file. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: allow showing the complete statistics via debugfsMauro Carvalho Chehab2013-03-21
| | | | | | | Outputs the result of the statistics responses via debugfs. That can help to track bugs at the stats filling. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: fix start of statisticsMauro Carvalho Chehab2013-03-21
| | | | | | | | It seems that the first u32 after the header for some stats are used by something not documented. The stats struct starts after it. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: Convert it to report DVBv5 statsMauro Carvalho Chehab2013-03-21
| | | | | | | | | | | | | While this frontend provides a nice set of statistics, the way it is currently reported to userspace is poor. Worse than that, instead of using quality indicators that range from 0 to 65535, as expected by userspace, most indicators range from 0 to 100. Improve it by using DVBv5 statistics API. The legacy indicators are still reported using the very same old way, but they're now using a proper range (0 to 65535 for quality indicadors; 0.1 dB for SNR). Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: split debug logic from the status update routineMauro Carvalho Chehab2013-03-21
| | | | | | | | | It is confusing to merge both status updates with debug stuff. Also, it is a better idea to move those status updates to debugfs, instead of doing a large amount of printk's like that. So, break them into a separate block of routines. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: split get_frontend into per-std functionsMauro Carvalho Chehab2013-03-21
| | | | | | | | | Instead of handling both DVB-T and ISDB-T at the same get_frontend function, break it intow one function per-delivery system. That makes the code clearer as we start to add support for DVBv5 statistics, and for ISDB-T get frontend stuff. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: simplify message endianness logicMauro Carvalho Chehab2013-03-21
| | | | | | | | | | | Currently, every time a message is sent or received, the endiannes need to be fixed on big endian machines. This is currently done on every call to the send API, and on every msg reception logic. Instead of doing that, move it to the send/receive functions. That simplifies the logic and avoids the risk of forgetting to fix it somewhere. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: call MSG_SMS_INIT_DEVICE_REQMauro Carvalho Chehab2013-03-21
| | | | | | | | Newer firmwares seem to require an init device message. Apply such change from Doron Cohen's patch: http://patchwork.linuxtv.org/patch/7889/ Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: Configure board's mtu and xtalMauro Carvalho Chehab2013-03-21
| | | | | | | Backported from Doron Cohen's patch: http://patchwork.linuxtv.org/patch/7889/ Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: add new devices to the Siano DriverMauro Carvalho Chehab2013-03-21
| | | | | | | | | | | | This patch is based on Doron Cohen's patches: http://patchwork.linuxtv.org/patch/7881/ http://patchwork.linuxtv.org/patch/7888/ http://patchwork.linuxtv.org/patch/7883/ It basically merges the above patches, rebasing them to the macro definitions used upstream, with are different than the ones used by them internally. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: use the newer stats message for recent firmwaresMauro Carvalho Chehab2013-03-21
| | | | | | | | | | | | | | The old statistics request don't work with newer firmwares. Add a logic to use the newer stats if firmware major is 8. Note that I have only 2 devices here, one with firmware 2.1 (Hauppauge model 55009 Rev B1F7) and another one with firmware 8.1. We may need to adjust the firmware minimal version for the *_EX message variants, as we start finding firmware versions between 2.x and 8.x. This patch was based on Doron Cohen patch: http://patchwork.linuxtv.org/patch/7886/ Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: add support for LNA on ISDB-TMauro Carvalho Chehab2013-03-21
| | | | | | The very same code also exists for DVB-T. Add it for ISDB-T. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: add support for ISDB-T full-segMauro Carvalho Chehab2013-03-21
| | | | | | | Fix the DVBv5 API handling for ISDB-T and add support for 13 segments. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: use a separate completion for statsMauro Carvalho Chehab2013-03-21
| | | | | | | | | | Instead of re-use tune_done also for stats, the better is to use a different completion. Also, it was noticed that sometimes, the driver answers with MSG_SMS_SIGNAL_DETECTED_IND for status request. Fix the code to also handle those other signal indicators. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: add some new messages to the smscoreapiMauro Carvalho Chehab2013-03-21
| | | | | | | Based on Doron Cohen's patch: http://patchwork.linuxtv.org/patch/7887/ Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: cleanups at smscoreapi.cMauro Carvalho Chehab2013-03-21
| | | | | | | | Some cleanups at smscoreapi. Most are just CodingStyle. Also, use kzalloc when allocating a new buffer, as it initializes the allocated space with zero. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: always load smsdvbMauro Carvalho Chehab2013-03-21
| | | | | | | | | | | Without smsdvb, the driver actually does nothing, as it lacks the userspace API. While I wrote it independently, in order to make a sms2270 board I have here to work, this patch is functionally identical to this patch from Doron Cohen: http://patchwork.linuxtv.org/patch/7894/ Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: fix the debug messageMauro Carvalho Chehab2013-03-21
| | | | | | | | | Instead of displaying this: [ 61.869415] smscore_load_firmware_family2: rc=0, postload=0x (null) Display, instead: [ 1348.441160] smscore_load_firmware_family2: rc=0 Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: report the choosed firmware in debugMauro Carvalho Chehab2013-03-21
| | | | | | | | Don't keep in the dark: report the firmware file name after lookup. That helps to debug what's happening when a firmware is not found. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: make load firmware logic to work with newer firmwaresMauro Carvalho Chehab2013-03-21
| | | | | | | There are new firmwares for sms2xxx devices. Change the firmware load logic to handle those newer firmwares and devices. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: store firmware versionMauro Carvalho Chehab2013-03-21
| | | | | | | | | As there are some changes that seem to be firmware-dependent, we need to store the firmware version, as we don't want to break support for existing cards that use a legacy (and sometimes custom) firmware. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: add additional attributes to cards entriesMauro Carvalho Chehab2013-03-21
| | | | | | Those attributes will be used by the newer sms2xxx cards. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: Properly initialize board informationMauro Carvalho Chehab2013-03-21
| | | | | | | Board #0 is an existing one. Instead of initializing the driver with it, use a different value to detect if board is unknown. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: add the remaining new defines from new driverMauro Carvalho Chehab2013-03-21
| | | | | | | Add the remaining new defines/enums from Doron Cohen's patch: http://patchwork.linuxtv.org/patch/7882/ Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: better debug send/receive messagesMauro Carvalho Chehab2013-03-21
| | | | | | | | Instead of printing a message for some random messages, print it for all sent/received ones. That helps a lot to debug what's going on. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: update message macrosMauro Carvalho Chehab2013-03-21
| | | | | | | | | Convert from #define into an enum and add the newer message macros as found on this patch from Doron Cohen: http://patchwork.linuxtv.org/patch/7882/ No messages got supressed. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: remove a duplicated structure definitionMauro Carvalho Chehab2013-03-21
| | | | | | | | | | | | The same GPIO config struct was declared twice at the driver, with different names and different macros: struct smscore_config_gpio struct smscore_config_gpio Remove the one that uses CamelCase and fix the references to its attributes/macros. No functional changes. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: Add the new voltage definitions for GPIOMauro Carvalho Chehab2013-03-21
| | | | | | | Those new definitions came from this patch, from Doron Cohen: http://patchwork.linuxtv.org/patch/7882/ Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: Change GPIO voltage setting namesMauro Carvalho Chehab2013-03-21
| | | | | | | | Siano changed the namespace on more recent API, and re-used some of the old names. In order to be able to update the API to support newer chips, the better is to follow this change. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: Remove redundant NULL check before kfreeSyam Sidhardhan2013-03-18
| | | | | | | kfree on NULL pointer is a no-op. Signed-off-by: Syam Sidhardhan <s.syam@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] tveeprom: Fix lots of bad whitespaceMauro Carvalho Chehab2013-02-08
| | | | | | | | | | | | | | | | | | While running checkpatch.pl after the last patch, I noticed lots of those: WARNING: please, no space before tabs #151: FILE: drivers/media/common/tveeprom.c:99: +^I{ TUNER_ABSENT, ^I^I"None" },$ (together with other checkpatch.pl errors/warnings) While I won't be fixing everything, as I have already an script to fix the above, let's do it, in order to clean it a little bit. While here, also drop cmacs-specific format text at the end. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] tveeprom: move from media/i2c to media/commonHans Verkuil2013-02-08
| | | | | | | | | The tveeprom module is a helper module for Hauppauge-based eeproms. It's used by many drivers and the i2c part is actually optional, so this driver is better placed in the media/common directory. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] btcx-risc: move from media/i2c to media/commonHans Verkuil2013-02-08
| | | | | | | | | The btcx-risc module is a helper module for bttv/conexant based TV cards. It isn't an i2c module at all, instead it should be in common since it is used by 4 pci drivers. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] cx2341x: move from media/i2c to media/commonHans Verkuil2013-02-08
| | | | | | | | | | | The cx2341x module is a helper module for conexant-based MPEG encoders. It isn't an i2c module at all, instead it should be in common since it is used by 7 pci and usb drivers to handle the MPEG setup. It also shouldn't be visible in the config menu as it is always selected automatically by those drivers that need it. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] media: saa7146: don't use mutex_lock_interruptible() in device_release()Cyril Roelandt2012-12-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use uninterruptible mutex_lock in the release() file op to make sure all resources are properly freed when a process is being terminated. Returning -ERESTARTSYS has no effect for a terminating process and this may cause driver resources not to be released. This was found using the following semantic patch (http://coccinelle.lip6.fr/): <spml> @r@ identifier fops; identifier release_func; @@ static const struct v4l2_file_operations fops = { .release = release_func }; @depends on r@ identifier r.release_func; expression E; @@ static int release_func(...) { ... - if (mutex_lock_interruptible(E)) return -ERESTARTSYS; + mutex_lock(E); ... } </spml> Signed-off-by: Cyril Roelandt <tipecaml@gmail.com> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] v4l: Convert drivers to use monotonic timestampsSakari Ailus2012-12-21
| | | | | | | | | Convert drivers using wall clock time (CLOCK_REALTIME) to timestamp from the monotonic timer (CLOCK_MONOTONIC). Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: fix build with allmodconfigMauro Carvalho Chehab2012-11-23
| | | | | | | | | | | | | | | | | As reported by Stephen: After merging the v4l-dvb tree, today's linux-next build (x86_64 allmodconfig) failed like this: ERROR: "sms_ir_exit" [drivers/media/common/siano/smsmdtv.ko] undefined! ERROR: "sms_ir_event" [drivers/media/common/siano/smsmdtv.ko] undefined! ERROR: "sms_ir_init" [drivers/media/common/siano/smsmdtv.ko] undefined! The smsir file should be part of the smsmdtv core, if RC is defined. Fix it. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* Revert "[media] siano: fix build with allmodconfig"Mauro Carvalho Chehab2012-11-23
| | | | | | | | | This reverts commit 6ee28d94c9bfa0640a7c94c289ca0df239d90a0d. The patch got some alien code there, not sure why. Revert it to apply it properly. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: fix build with allmodconfigMauro Carvalho Chehab2012-11-13
| | | | | | | | | | | | | | | | | As reported by Stephen: After merging the v4l-dvb tree, today's linux-next build (x86_64 allmodconfig) failed like this: ERROR: "sms_ir_exit" [drivers/media/common/siano/smsmdtv.ko] undefined! ERROR: "sms_ir_event" [drivers/media/common/siano/smsmdtv.ko] undefined! ERROR: "sms_ir_init" [drivers/media/common/siano/smsmdtv.ko] undefined! The smsir file should be part of the smsmdtv core, if RC is defined. Fix it. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: fix RC compilationMauro Carvalho Chehab2012-11-07
| | | | | | | | | | | | | | | | | | | | | | | | As reported by Antti and by Stephen: drivers/built-in.o: In function `sms_ir_event': /home/david/checkouts/linux/drivers/media/common/siano/smsir.c:48: undefined reference to `ir_raw_event_store' /home/david/checkouts/linux/drivers/media/common/siano/smsir.c:50: undefined reference to `ir_raw_event_handle' drivers/built-in.o: In function `sms_ir_init': /home/david/checkouts/linux/drivers/media/common/siano/smsir.c:56: undefined reference to `smscore_get_board_id' /home/david/checkouts/linux/drivers/media/common/siano/smsir.c:60: undefined reference to `rc_allocate_device' /home/david/checkouts/linux/drivers/media/common/siano/smsir.c:72: undefined reference to `sms_get_board' /home/david/checkouts/linux/drivers/media/common/siano/smsir.c:92: undefined reference to `sms_get_board' /home/david/checkouts/linux/drivers/media/common/siano/smsir.c:97: undefined reference to `rc_register_device' /home/david/checkouts/linux/drivers/media/common/siano/smsir.c:100: undefined reference to `rc_free_device' drivers/built-in.o: In function `sms_ir_exit': /home/david/checkouts/linux/drivers/media/common/siano/smsir.c:111: undefined reference to `rc_unregister_device' make: *** [vmlinux] Error 1 Caused by commit fdd1eeb49d36 "[media] siano: allow compiling it without RC support" And it happens when CONFIG_SMS_SIANO_RC=y and CONFIG_RC_CORE=m . Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Reported-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: get rid of warning: no previous prototypeMauro Carvalho Chehab2012-10-27
| | | | | | drivers/media/common/siano/smscoreapi.c:1095:26: warning: no previous prototype for 'get_entry' [-Wmissing-prototypes] Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] rc-core: add separate defines for protocol bitmaps and numbersDavid Härdeman2012-10-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The RC_TYPE_* defines are currently used both where a single protocol is expected and where a bitmap of protocols is expected. Functions like rc_keydown() and functions which add/remove entries to the keytable want a single protocol. Future userspace APIs would also benefit from numeric protocols (rather than bitmap ones). Keytables are smaller if they can use a small(ish) integer rather than a bitmap. Other functions or struct members (e.g. allowed_protos, enabled_protocols, etc) accept multiple protocols and need a bitmap. Using different types reduces the risk of programmer error. Using a protocol enum whereever possible also makes for a more future-proof user-space API as we don't need to worry about a sufficient number of bits being available (e.g. in structs used for ioctl() calls). The use of both a number and a corresponding bit is dalso one in e.g. the input subsystem as well (see all the references to set/clear bit when changing keytables for example). This patch separate the different usages in preparation for upcoming patches. Where a single protocol is expected, enum rc_type is used; where one or more protocol(s) are expected, something like u64 is used. The patch has been rewritten so that the format of the sysfs "protocols" file is no longer altered (at the loss of some detail). The file itself should probably be deprecated in the future though. Signed-off-by: David Härdeman <david@hardeman.nu> Cc: Andy Walls <awalls@md.metrocast.net> Cc: Maxim Levitsky <maximlevitsky@gmail.com> Cc: Antti Palosaari <crope@iki.fi> Cc: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] common/*/Kconfig: Remove unused helpsMauro Carvalho Chehab2012-10-17
| | | | | | | | Those items don't have any menu anymore; they're auto-selected by USB/PCI/MMC drivers. So, there's no sense on keeping any help there anymore. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: allow compiling it without RC supportMauro Carvalho Chehab2012-10-17
| | | | | | | | Remote controller support should be optional on all drivers. Make it optional at Siano's driver. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] v4l2: make vidioc_s_fbuf constHans Verkuil2012-09-26
| | | | | | | | | Write-only ioctls should have a const argument in the ioctl op. Do this conversion for vidioc_s_fbuf. Adding const for write-only ioctls was decided during the 2012 Media Workshop. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] flexcop: Show the item to enable debug after the driverMauro Carvalho Chehab2012-08-21
| | | | | | | Instead of showing the option to show debug at the end, show it after each driver. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] Kconfig: merge all customise options into just oneMauro Carvalho Chehab2012-08-21
| | | | | | | | | | | | | | | | Instead of having 3 options to allow customizing the media sub-drivers (tuners, I2C drivers, frontends), merge all of them into just one. That simplifies the life for users, as they can just keep this untouched. Life for developers is also simpler, as there's now just one Kconfig item to remember, for the ancillary sub-drivers providing supports for chips that could change from one board design to another. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] b2c2: export b2c2_flexcop_debug symbolMauro Carvalho Chehab2012-08-17
| | | | | | | ERROR: "b2c2_flexcop_debug" [drivers/media/pci/b2c2/b2c2-flexcop-pci.ko] undefined! Reported-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] Fix some Makefile rulesMauro Carvalho Chehab2012-08-16
| | | | | | | | | | | | | | On a few places, := were using instead of +=, causing drivers to not compile. While here, standardize the usage of += on all cases where multiple lines are needed, and for obj-y/obj-m targets, and := when just one line is needed, on <module>-obj rules. Reported-by: Hans Verkuil <hverkuil@xs4all.nl> Identified-by: Antti Polosaari <crope@iki.fi> Tested-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
* [media] siano: break it into common, mmc and usbMauro Carvalho Chehab2012-08-13
| | | | | | | siano is, in fact, 2 drivers: one for MMC and one for USB, plus a common bus-independent code. Break it accordingly. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>