aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media (follow)
AgeCommit message (Collapse)AuthorFilesLines
2010-10-28Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6Linus Torvalds406-19982/+38859
* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (505 commits) [media] af9015: Fix max I2C message size when used with tda18271 [media] IR: initialize ir_raw_event in few more drivers [media] Guard a divide in v4l1 compat layer [media] imon: fix nomouse modprobe option [media] imon: remove redundant change_protocol call [media] imon: fix my egregious brown paper bag w/rdev/idev split [media] cafe_ccic: Configure ov7670 correctly [media] ov7670: allow configuration of image size, clock speed, and I/O method [media] af9015: support for DigitalNow TinyTwin v3 [1f4d:9016] [media] af9015: map DigitalNow TinyTwin v2 remote [media] DigitalNow TinyTwin remote controller [media] af9015: RC fixes and improvements videodev2.h.xml: Update to reflect the latest changes at videodev2.h [media] v4l: document new Bayer and monochrome pixel formats [media] DocBook/v4l: Add missing formats used on gspca cpia1 and sn9c2028 [media] firedtv: add parameter to fake ca_system_ids in CA_INFO [media] tm6000: fix a macro coding style issue tm6000: Remove some ugly debug code [media] Nova-S-Plus audio line input [media] [RFC,1/1] V4L2: Use new CAP bits in existing RDS capable drivers ...
2010-10-27Remove duplicate includes from many filesZimny Lech1-1/+0
Signed-off-by: Zimny Lech <napohybelskurwysynom2010@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-10-27[media] af9015: Fix max I2C message size when used with tda18271Mauro Carvalho Chehab2-2/+2
Changeset 1724c8fa7eb33d68898e060a08a8e6a88348b62f added an option to change the maximum I2C size to 8 bytes. However, it forgot to replace the previous usage at af9015 to use the newly defined macro value (TDA18271_16_BYTE_CHUNK_INIT). A latter changeset (e350d44fed8eb86a7192a579e3687fcd76a4645b) extended the possible values for .small_i2c field and, instead of using a random sequence of numbers, it used a number that makes more sense (e. g. the actual limit, in terms of bytes). However, as af9015 were using .small_i2c = 1, this become undefined, and the restriction of a max size of 16 was gone. While here, fix the reported msg size at tda18271-common.c. Reported-by: Jiri Slaby <jirislaby@gmail.com> Tested-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-25[media] IR: initialize ir_raw_event in few more driversMaxim Levitsky3-1/+3
Few drivers still have assumption that ir_raw_event consists of duration and pulse flag. Fix that. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-25[media] Guard a divide in v4l1 compat layerDr. David Alan Gilbert1-3/+10
Hi, I managed to trigger a divide by 0 in the v4l compat code with the mem2mem test module; I suspect perhaps it shouldn't have been returning a 0 pixel wide picture, but either way it seems right to guard this divide by 0 in the compatibility layer. Tested on 2.6.36 (ubuntu build, but the code in this is the same as upstream), but ***not tested with a real video device***. Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org> cc: stable.kernel.org Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-25Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/inputLinus Torvalds1-131/+262
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (75 commits) Input: wacom - specify Cinitq supported tools Input: ab8500-ponkey - fix IRQ freeing in error path Input: adp5588-keys - use more obvious i2c_device_id name string Input: ad7877 - switch to using threaded IRQ Input: ad7877 - use attribute group to control visibility of attributes Input: serio - add support for PS2Mult multiplexer protocol Input: wacom - properly enable runtime PM Input: ad7877 - filter events where pressure is beyond the maximum Input: ad7877 - implement EV_KEY:BTN_TOUCH reporting Input: ad7877 - implement specified chip select behavior Input: hp680_ts_input - use cancel_delayed_work_sync() Input: mousedev - correct lockdep annotation Input: ads7846 - switch to using threaded IRQ Input: serio - support multiple child devices per single parent Input: synaptics - simplify pass-through port handling Input: add ROHM BU21013 touch panel controller support Input: omap4-keypad - wake-up on events & long presses Input: omap4-keypad - fix interrupt line configuration Input: omap4-keypad - SYSCONFIG register configuration Input: omap4-keypad - use platform device helpers ...
2010-10-24Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivialLinus Torvalds23-31/+21
* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits) Update broken web addresses in arch directory. Update broken web addresses in the kernel. Revert "drivers/usb: Remove unnecessary return's from void functions" for musb gadget Revert "Fix typo: configuation => configuration" partially ida: document IDA_BITMAP_LONGS calculation ext2: fix a typo on comment in ext2/inode.c drivers/scsi: Remove unnecessary casts of private_data drivers/s390: Remove unnecessary casts of private_data net/sunrpc/rpc_pipe.c: Remove unnecessary casts of private_data drivers/infiniband: Remove unnecessary casts of private_data drivers/gpu/drm: Remove unnecessary casts of private_data kernel/pm_qos_params.c: Remove unnecessary casts of private_data fs/ecryptfs: Remove unnecessary casts of private_data fs/seq_file.c: Remove unnecessary casts of private_data arm: uengine.c: remove C99 comments arm: scoop.c: remove C99 comments Fix typo configue => configure in comments Fix typo: configuation => configuration Fix typo interrest[ing|ed] => interest[ing|ed] Fix various typos of valid in comments ... Fix up trivial conflicts in: drivers/char/ipmi/ipmi_si_intf.c drivers/usb/gadget/rndis.c net/irda/irnet/irnet_ppp.c
2010-10-23[media] imon: fix nomouse modprobe optionJarod Wilson1-2/+2
Pointed out by Bonne Eggleston on the lirc list. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-23[media] imon: remove redundant change_protocol callJarod Wilson1-18/+7
There was a redundant call to imon_ir_change_protocol -- its already getting called from ir_input_register. Also do some minor housekeeping with var names and formatting. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-23[media] imon: fix my egregious brown paper bag w/rdev/idev splitJarod Wilson1-10/+9
Somehow, I managed to screw things up when reworking the rdev/idev split patch from David, and started trying to get ir_input_dev from idev instead of rdev, thus resulting in button presses hanging the system. This fixes it. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-23[media] cafe_ccic: Configure ov7670 correctlyDaniel Drake1-0/+29
Force smbus communication, disable QCIF mode, and set the correct clock speed on the OLPC XO-1. Signed-off-by: Daniel Drake <dsd@laptop.org> Acked-by: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-23[media] ov7670: allow configuration of image size, clock speed, and I/O methodDaniel Drake2-38/+115
These parameters need to be configurable based on the host system. They can now be communicated through the s_config call. The old CONFIG_OLPC_XO_1 selector was not correct; this kind of arrangement wouldn't allow for a universal kernel that would work on both laptops. Certain parts of the probe routine had to be moved later (into s_config), because we can't do any I/O until we know which I/O method has been selected through this mechanism. Signed-off-by: Daniel Drake <dsd@laptop.org> Acked-by: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-23[media] af9015: support for DigitalNow TinyTwin v3 [1f4d:9016]Antti Palosaari2-1/+7
It is AF9015+AF9013+2xMXL5007T. Tanks to Bernard Giannetti and DigitalNow for the help! Signed-off-by: Antti Palosaari <crope@iki.fi> Cc: Renura Enterprises Pty Ltd <renura@digitalnow.com.au> Cc: Bernard Giannetti <thebernmeister@hotmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-23[media] af9015: map DigitalNow TinyTwin v2 remoteAntti Palosaari1-0/+2
Signed-off-by: Antti Palosaari <crope@iki.fi> Cc: Renura Enterprises Pty Ltd <renura@digitalnow.com.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-23[media] DigitalNow TinyTwin remote controllerAntti Palosaari2-0/+99
Signed-off-by: Antti Palosaari <crope@iki.fi> Cc: Renura Enterprises Pty Ltd <renura@digitalnow.com.au> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-23[media] af9015: RC fixes and improvementsAntti Palosaari1-47/+33
Read all remote controller registers at once to reduce USB remote polling traffic. Use .rc_codes() to disable / enable remote polling instead of .rc_query(). Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-23[media] firedtv: add parameter to fake ca_system_ids in CA_INFOHenrik Kurelid1-4/+27
The Digital Everywhere firmware have the shortcoming that ca_info_enq and ca_info are not supported. This means that we can never retrieve the correct ca_system_id to present in the CI message CA_INFO. Currently the driver uses the application id retrieved using app_info_req and app_info, but this id only match the correct ca_system_id as given in ca_info in some cases. This patch adds a parameter to the driver in order for the user to override what will be returned in the CA_INFO CI message. Up to four ca_system_ids can be specified. This is needed for users with CAMs that have different manufacturer id and ca_system_id and that uses applications that take this into account, like MythTV. Signed-off-by: Henrik Kurelid <henrik@kurelid.se> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-23[media] Nova-S-Plus audio line inputlawrence rust5-54/+189
This patch adds audio DMA capture and ALSA mixer elements for the line input jack of the Hauppauge Nova-S-plus DVB-S PCI card. The Nova-S-plus has a WM8775 ADC that is currently not detected. This patch enables this chip and exports volume, balance mute and ALC elements for ALSA mixer controls. [mchehab@redhat.com: Fix CodingStyle issues] Signed-off-by: Lawrence Rust <lawrence@softsystem.co.uk> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] [RFC,1/1] V4L2: Use new CAP bits in existing RDS capable driversMatti Aaltonen4-4/+5
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] [RFC] radio-mr800: locking fixesHans Verkuil1-3/+14
- serialize the suspend and resume functions using the global lock. - do not call usb_autopm_put_interface after a disconnect. - fix a race when disconnecting the device. Reported-by: David Ellingsworth <david@identd.dyndns.org> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Acked-by: David Ellingsworth<david@identd.dyndns.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] drivers/media/IR/imon.c: Use pr_err instead of errJoe Perches1-39/+34
Use the standard error logging mechanisms. Add #define pr_fmt(fmt) KBUILD_MODNAME ":%s" fmt, __func__ Remove __func__ from err calls, add '\n', rename to pr_err Signed-off-by: Joe Perches <joe@perches.com> Acked-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] drivers/media/video/bt8xx: Adjust confusing if indentationJulia Lawall1-3/+2
Indent the branch of an if. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r disable braces4@ position p1,p2; statement S1,S2; @@ ( if (...) { ... } | if (...) S1@p1 S2@p2 ) @script:python@ p1 << r.p1; p2 << r.p2; @@ if (p1[0].column == p2[0].column): cocci.print_main("branch",p1) cocci.print_secs("after",p2) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] lmedm04: driver for DM04/QQBOX updated to version 1.60Malcolm Priestley3-100/+237
These include -later kill of usb_buffer to avoid kernel crash on hot unplugging. -DiSEqC functions. -LNB Power switch -Faster channel change. -support for LG tuner on LME2510C. -firmware switching for LG tuner. Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] s5p-fimc: dubious one-bit signed bitfieldsSylwester Nawrocki1-4/+4
> From: Dan Carpenter [mailto:error27@gmail.com] > > These are signed so instead of being 1 and 0 as intended they are -1 and > 0. It doesn't cause a bug in the current code but Sparse warns about > it: > > drivers/media/video/s5p-fimc/fimc-core.h:226:28: > error: dubious one-bit signed bitfield > struct fimc_scaler { > - int scaleup_h:1; > - int scaleup_v:1; > - int copy_mode:1; > - int enabled:1; > + unsigned int scaleup_h:1; > + unsigned int caleup_v:1; > + unsigned int copy_mode:1; > + unsigned int enabled:1; In general I agree, however this patch would change scaleup_v:1 to caleup_v, so it cannot be applied in current form. Here is the corrected patch: Reported-by: Dan Carpenter <error27@gmail.com< Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] s5p-fimc: add unlock on error pathDan Carpenter1-4/+7
There was an unlock missing if kzalloc() failed. Signed-off-by: Dan Carpenter <error27@gmail.com> Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] cx18: Don't use module names to load I2C modulesLaurent Pinchart1-18/+5
With the v4l2_i2c_new_subdev* functions now supporting loading modules based on modaliases, replace the hardcoded module name passed to those functions by NULL. The sub-devices without a listed module name don't result in and I2C sub-device being created, as they either are IR devices or don't have an I2C address listed. It's thus safe to rely on modaliases only. All corresponding I2C modules have been checked, and all of them include a module aliases table with names corresponding to what the cx18 driver uses. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] ivtv: Don't use module names to load I2C modulesLaurent Pinchart1-34/+8
With the v4l2_i2c_new_subdev* functions now supporting loading modules based on modaliases, replace the hardcoded module name passed to those functions by NULL. The sub-devices without a listed module name don't result in and I2C sub-device being created, as they either are IR devices or don't have an I2C address listed. It's thus safe to rely on modaliases only. All corresponding I2C modules have been checked, and all of them include a module aliases table with names corresponding to what the ivtv driver uses. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] vpif_capture: Don't use module names to load I2C modulesLaurent Pinchart1-1/+1
With the v4l2_i2c_new_subdev* functions now supporting loading modules based on modaliases, don't use the module names hardcoded in platform data by passing a NULL module name to those functions. The only platform using the VPIF capture device (DM646x EVM) hardcodes the module names to invalid values (tvp514x-0 and tvp514x-1). As this is already broken, there's no risk of breaking it more. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] vpif_display: Don't use module names to load I2C modulesLaurent Pinchart1-1/+1
With the v4l2_i2c_new_subdev* functions now supporting loading modules based on modaliases, don't use the module names hardcoded in platform data by passing a NULL module name to those functions. All corresponding I2C modules have been checked, and all of them include a module aliases table with names corresponding to what the vpif_display platform data uses. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] vpfe_capture: Don't use module names to load I2C modulesLaurent Pinchart1-1/+1
With the v4l2_i2c_new_subdev* functions now supporting loading modules based on modaliases, don't use the module names hardcoded in platform data by passing a NULL module name to those functions. All corresponding I2C modules have been checked, and all of them include a module aliases table with names corresponding to what the vpfe_capture platform data uses. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] soc_camera: Don't use module names to load I2C modulesLaurent Pinchart1-1/+1
With the v4l2_i2c_new_subdev* functions now supporting loading modules based on modaliases, remove the module names hardcoded in platform data and pass a NULL module name to those functions. All corresponding I2C modules have been checked, and all of them include a module aliases table with names corresponding to what the soc_camera platform data uses. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] radio-si4713: Don't use module names to load I2C modulesLaurent Pinchart1-1/+1
With the v4l2_i2c_new_subdev* functions now supporting loading modules based on modaliases, replace the hardcoded module name passed to those functions by NULL. As no board seems to use this driver, no platform data has been checked. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] sh_vou: Don't use module names to load I2C modulesLaurent Pinchart1-1/+1
With the v4l2_i2c_new_subdev* functions now supporting loading modules based on modaliases, remove the module names hardcoded in platform data and pass a NULL module name to those functions. All corresponding I2C modules have been checked, and all of them include a module aliases table with names corresponding to what the sh_vou platform data uses. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] pvrusb2: Don't use module names to load I2C modulesLaurent Pinchart1-9/+2
With the v4l2_i2c_new_subdev* functions now supporting loading modules based on modaliases, replace the hardcoded module name passed to those functions by NULL. All corresponding I2C modules have been checked, and all of them include a module aliases table with names corresponding to what the pvrusb2 driver uses. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-By: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] zoran: Don't use module names to load I2C modulesLaurent Pinchart2-22/+3
With the v4l2_i2c_new_subdev* functions now supporting loading modules based on modaliases, replace the hardcoded module name passed to those functions by NULL. All corresponding I2C modules have been checked, and all of them include a module aliases table with names corresponding to what the zoran driver uses. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] v4l: Remove hardcoded module names passed to v4l2_i2c_new_subdev*Laurent Pinchart15-53/+53
With the v4l2_i2c_new_subdev* functions now supporting loading modules based on modaliases, replace the hardcoded module name passed to those functions by NULL. All corresponding I2C modules have been checked, and all of them include a module aliases table with names corresponding to what the drivers modified here use. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] v4l: Load I2C modules based on modaliasLaurent Pinchart1-0/+2
When creating a new sub-device, The V4L I2C subdev API has historically required drivers to pass the name of the module that implements support for the I2C device. I2C modules can be loaded based on modaliases instead of the module name. As the I2C device type name is already available to the v4l2_i2c_new_subdev* functions, make the module name argument optional and create a modalias based on the type name when no module name is provided. All in-tree drivers call those functions with a non-NULL module name argument, this change is thus harmless. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] cx231xx: fix double lock typoDan Carpenter1-1/+1
This was supposed to be an unlock on the error path. Signed-off-by: Dan Carpenter <error27@gmail.com> Acked-by: Devin Heitmueller <dheitmueller@hauppauge.com> Cc: Palash Bandyopadhyay < palash.bandyopadhyay@conexant.com> Cc: Sri Deevi <Srinivasa.Deevi@conexant.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] anysee: switch to RC coreAntti Palosaari1-66/+21
Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] Anysee remote controllerAntti Palosaari2-0/+94
Anysee remote controller keytable. Uses NEC address 0x08. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] cx88: uninitialized variableDan Carpenter1-2/+1
Fixes a gcc warning: drivers/media/video/cx88/cx88-video.c:772: warning: ‘core’ may be used uninitialized in this function Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] Support for Elgato Video CaptureAdrian Taylor2-0/+19
This patch allows this device successfully to show video, at least from its composite input. I have no information about the true hardware contents of this device and so this patch is based solely on fiddling with things until it worked. The chip appears to be em2860, and the closest device with equivalent inputs is the Typhoon DVD Maker. Copying the settings for that device appears to do the trick. That's what this patch does. [mchehab@redhat.com: update CARDLIST.em28xx accordingly, via script] Signed-off-by: Adrian Taylor <adrian.taylor@realvnc.com> Reviewed-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] mceusb: hook debug print spew directly into parser routineJarod Wilson1-20/+25
Provides more complete debug spew, parses individual commands and raw IR data one chunk at a time. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] mceusb: add symbolic names for commandsJarod Wilson1-76/+117
And replace usage of hex values w/symbolic names wherever possible Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] mceusb: Allow a per-model device nameMauro Carvalho Chehab1-2/+8
It is better to use a per-model device name, especially on multi-function devices like Polaris. So, allow overriding the default name at the mceusb model table. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Jarod Wilson <jarod@redhat.com>
2010-10-22[media] mceusb: allow a per-model RC mapMauro Carvalho Chehab1-5/+12
Especially when used with Polaris boards, devices may have different types of remotes shipped. So, we need a per-model rc-map. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Jarod Wilson <jarod@redhat.com>
2010-10-22[media] mceusb: add a per-model structureMauro Carvalho Chehab1-50/+76
The previous logic needed duplicate USB table structs, one to store the list of the devices, and 3 sets of other structs, to store the quirks list. With this change, devices that require expecial quirks just need to have a .driver_info = <quirk entry>. It also allows adding some extra quirks, like per-model RC tables. As a bonus, this patch reduced in 10% the data segment size: text data bss dec hex filename 15487 5008 4 20499 5013 old/mceusb.ko 15438 4496 4 19938 4de2 new/mceusb.ko Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Jarod Wilson <jarod@redhat.com>
2010-10-22[media] mceusb: improve ir data buffer parserMauro Carvalho Chehab1-48/+103
Switch to a state machine that properly handles all incoming urb data packets, and reads much cleaner and corrects some minor parsing errors that were hindering decode on cx231xx/Polaris integrated IR. Also tested with four different mceusb variants, and works perfectly with all of them (at least for the rc6a mce remotes). Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Jarod Wilson <jarod@redhat.com>
2010-10-22[media] lirc_dev: rework storage for cdev dataJarod Wilson1-17/+23
Fixes an oops when an lirc driver that doesn't provide its own fops is unplugged while the lirc cdev is open. Tested with lirc_igorplugusb, with a special thanks to Timo Boettcher for providing the test hardware. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-10-22[media] lirc_dev: call cdev_del *after* irctl cleanupJarod Wilson1-1/+1
Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>