summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-01-06[media] dm1105: handle errors from dvb_net_initJonathan Nieder
Clean up and error out if dvb_net_init fails (for example due to ENOMEM). This involves moving the dvb_net_init call to before frontend_init to make cleaning up a little easier. From an audit of dvb_net_init callers, now that dvb_net_init lets callers know about errors. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] dvb-bt8xx: handle errors from dvb_net_initJonathan Nieder
Clean up and error out if dvb_net_init fails (for example when running out of memory). From an audit of dvb_net_init callers, now that dvb_net_init has learned to return a nonzero value from time to time. [mchehab.redhat.com: codingstyle fix: printk() should include KERN_ facility level] Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06ore: fix BUG_ON, too few sgs when readingBoaz Harrosh
When reading RAID5 files, in rare cases, we calculated too few sg segments. There should be two extra for the beginning and end partial units. Also "too few sg segments" should not be a BUG_ON there is all the mechanics in place to handle it, as a short read. So just return -ENOMEM and the rest of the code will gracefully split the IO. [Bug in 3.2.0 Kernel] CC: Stable Tree <stable@kernel.org> Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
2012-01-06ore: Fix crash in case of an IO error.Boaz Harrosh
The users of ore_check_io() expect the reported device (In case of error) to be indexed relative to the passed-in ore_components table, and not the logical dev index. This causes a crash inside objlayoutdriver in case of an IO error. [Bug in 3.2.0 Kernel] CC: Stable Tree <stable@kernel.org> Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
2012-01-06ore: FIX breakage when MISC_FILESYSTEMS is not setBoaz Harrosh
As Reported by Randy Dunlap When MISC_FILESYSTEMS is not enabled and NFS4.1 is: fs/built-in.o: In function `objio_alloc_io_state': objio_osd.c:(.text+0xcb525): undefined reference to `ore_get_rw_state' fs/built-in.o: In function `_write_done': objio_osd.c:(.text+0xcb58d): undefined reference to `ore_check_io' fs/built-in.o: In function `_read_done': ... When MISC_FILESYSTEMS, which is more of a GUI thing then anything else, is not selected. exofs/Kconfig is never examined during Kconfig, and it can not do it's magic stuff to automatically select everything needed. We must split exofs/Kconfig in two. The ore one is always included. And the exofs one is left in it's old place in the menu. [Needed for the 3.2.0 Kernel] CC: Stable Tree <stable@kernel.org> Reported-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
2012-01-06[media] flexcop: handle errors from dvb_net_initJonathan Nieder
Bail out if dvb_net_init encounters an error (for example an out-of-memory condition), now that it reports them. [mchehab@redhat.com: CodingStyle fix: don't use "if ((ret = foo()) < 0)"] Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] ttusb-budget: use goto for exception handlingJonathan Nieder
Avoid some repetition by adopting the usual "goto err" idiom for error handling. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] dvb-bt8xx: use goto based exception handlingJonathan Nieder
Repeating the same cleanup code in each error handling path makes life unnecessarily difficult for reviewers, who much check each instance of the same copy+pasted code separately. A "goto" to the end of the function is more maintainable and conveys the intent more clearly. While we're touching this code, also lift some assignments from "if" conditionals for simplicity. No functional change intended. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] videobuf-dvb: avoid spurious ENOMEM when CONFIG_DVB_NET=nJonathan Nieder
videobuf_dvb_register_bus relies on dvb_net_init to set dvbnet->dvbdev on success, but ever since commit fcc8e7d8c0e2 ("dvb_net: Simplify the code if DVB NET is not defined"), ->dvbdev is left unset when networking support is disabled. Therefore in such configurations videobuf_dvb_register_bus always returns failure, tripping little-tested error handling paths and preventing the device from being initialized and used. Now that dvb_net_init returns a nonzero value on error, we can use that as a more reliable error indication. Do so. Now your card be used with CONFIG_DVB_NET=n, and the kernel will pass on a more useful error code describing what happened when CONFIG_DVB_NET=y but dvb_net_init fails due to resource exhaustion. Reported-by: David Fries <David@Fries.net> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] DVB: dvb_net_init: return -errno on errorJonathan Nieder
dvb_net_init unconditionally returns 0. Callers such as videobuf_dvb_register_frontend examine dvbnet->dvbdev instead of the return value to tell whether the operation succeeded. If it has been set to a valid pointer, success; if it was left equal to NULL, failure. Alas, there is an edge case where that logic does not work as well: when network support has been compiled out (CONFIG_DVB_NET=n), we want dvb_net_init and related operations to behave as no-ops and always succeed, but there is no appropriate value to which to set dvb->dvbdev to indicate this. Let dvb_net_init return a meaningful error code, as preparation for adapting callers to look at that instead. The only immediate impact of this patch should be to make the few callers that already check for an error code from dvb_net_init behave a little more sensibly when it fails. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06watchdog: new driver for VIA chipsetsMarc Vertes
New driver for the hardware watchdog timer on VIA chipsets. This driver uses the new watchdog framework. PnP must be enabled in BIOS to get full control of watchdog registers. The timer code has been added by Wim Van Sebroeck. Tested on a Artigo A1100, VX855 chipset. Signed-off-by: Marc Vertes <marc.vertes@sigfox.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2012-01-06watchdog: ath79_wdt: flush register writesGabor Juhos
The watchdog register writes required to have a flush in order to commit the values to the register. Without the flush, the driver not function correctly on AR934X SoCs. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Acked-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2012-01-06drivers/watchdog/lantiq_wdt.c: drop iounmap for devm_ allocated dataJulia Lawall
Data allocated with devm_ioremap or devm_ioremap_nocache should not be freed using iounmap, because doing so causes a dangling pointer, and a subsequent double free. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ expression x; @@ ( x = devm_ioremap(...) | x = devm_ioremap_nocache(...) ) @@ expression r.x; @@ * iounmap(x) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2012-01-06watchdog: documentation: describe nowayout in coversion-guideWolfram Sang
nowayout is also handled by the watchdog core. Describe how this needs to be addressed in the conversion guide. Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2012-01-06watchdog: documentation: update index fileWim Van Sebroeck
Add the convert_drivers_to_kernel_api.txt to the 00-INDEX file. Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2012-01-06watchdog: Convert wm831x driver to devm_kzalloc()Mark Brown
Saves a small amount of code and systematically eliminates leaks. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2012-01-06watchdog: add nowayout helpers to Watchdog Timer Driver Kernel APIWim Van Sebroeck
Add two nowayout helpers for the Watchdog Timer Driver Kernel API. And apply this to the already converted drivers. Note: s3c2410_wdt lost the nowayout feature during the conversion. Reviewed-by: Wolfram Sang <w.sang@pengutronix.de> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2012-01-06watchdog: convert drivers/watchdog/* to use module_platform_driver()Axel Lin
This patch converts the drivers in drivers/watchdog/* to use the module_platform_driver() macro which makes the code smaller and a bit simpler. Signed-off-by: Axel Lin <axel.lin@gmail.com> Cc: Nicolas Thill <nico@openwrt.org> Cc: Florian Fainelli <florian@openwrt.org> Cc: "David S. Miller" <davem@davemloft.net> Cc: Paul Cercueil <paul@crapouillou.net> Cc: Marc Zyngier <maz@misterjones.org> Cc: Wan ZongShun <mcuos.com@gmail.com> Cc: Alejandro Cabrera <aldaya@gmail.com> Cc: "George G. Davis" <gdavis@mvista.com> Cc: Sylver Bruneau <sylver.bruneau@googlemail.com> Cc: Vitaly Wool <vital@embeddedalley.com> Cc: Mika Westerberg <mika.westerberg@iki.fi> Cc: Timo Kokkonen <timo.t.kokkonen@nokia.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2012-01-06watchdog: Use DEFINE_SPINLOCK() for static spinlocksAxel Lin
Rather than just defining static spinlock_t variables and then initializing them later in init functions, simply define them with DEFINE_SPINLOCK() and remove the calls to spin_lock_init(). Signed-off-by: Axel Lin <axel.lin@gmail.com> Cc: Nicolas Thill <nico@openwrt.org> Cc: Heiko Ronsdorf <hero@ihg.uni-duisburg.de> Cc: Rodolfo Giometti <giometti@ascensit.com> Cc: Andrey Panin <pazke@donpac.ru> Cc: Guido Guenther <agx@sigxcpu.org> Cc: Curt E Bruns <curt.e.bruns@intel.com> Cc: Deepak Saxena <dsaxena@plexity.net> Cc: Andrew Victor <linux@maxim.org.za> Cc: George G. Davis <gdavis@mvista.com> Cc: Sylver Bruneau <sylver.bruneau@googlemail.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2012-01-06watchdog: Convert Wolfson drivers to module_platform_driverMark Brown
Factors out some boilerplate code. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2012-01-06NFS: Remove pNFS bloat from the generic write pathTrond Myklebust
We have no business doing any this in the standard write release path. Get rid of it, and put it in the pNFS layer. Also, while we're at it, get rid of the completely bogus unlock/relock semantics that were present in nfs_writeback_release_full(). It is not only unnecessary, but actually dangerous to release the write lock just in order to take it again in nfs_page_async_flush(). Better just to open code the pgio operations in a pnfs helper. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2012-01-06pnfs-obj: Must return layout on IO errorBoaz Harrosh
As mandated by the standard. In case of an IO error, a pNFS objects layout driver must return it's layout. This is because all device errors are reported to the server as part of the layout return buffer. This is implemented the same way PNFS_LAYOUTRET_ON_SETATTR is done, through a bit flag on the pnfs_layoutdriver_type->flags member. The flag is set by the layout driver that wants a layout_return preformed at pnfs_ld_{write,read}_done in case of an error. (Though I have not defined a wrapper like pnfs_ld_layoutret_on_setattr because this code is never called outside of pnfs.c and pnfs IO paths) Without this patch 3.[0-2] Kernels leak memory and have an annoying WARN_ON after every IO error utilizing the pnfs-obj driver. [This patch is for 3.2 Kernel. 3.1/0 Kernels need a different patch] CC: Stable Tree <stable@kernel.org> Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2012-01-06pnfs-obj: pNFS errors are communicated on iodata->pnfs_errorBoaz Harrosh
Some time along the way pNFS IO errors were switched to communicate with a special iodata->pnfs_error member instead of the regular RPC members. But objlayout was not switched over. Fix that! Without this fix any IO error is hanged, because IO is not switched to MDS and pages are never cleared or read. [Applies to 3.2.0. Same bug different patch for 3.1/0 Kernels] CC: Stable Tree <stable@kernel.org> Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2012-01-06[media] it913x ver 1.18 Turn pid filter off by caps option onlyMalcolm Priestley
Turn the pid filter off by caps option only. This is so the full stream is passed to demuxer and not limited by pid count. Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] vpif_capture.c: v4l2_device_register() is called too late in ↵Hans Verkuil
vpif_probe() The function v4l2_device_register() is called too late in vpif_probe(). This meant that vpif_obj.v4l2_dev is accessed before it is initialized which caused a crash. This used to work in the past, but video_register_device() is now actually using the v4l2_dev pointer. Note that vpif_display.c doesn't have this bug, there v4l2_device_register() is called at the beginning of vpif_probe. Signed-off-by: Georgios Plakaris <gplakari@cisco.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Manjunath Hadli <Manjunath.hadli@ti.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] marvell-cam: Make suspend/resume work on MMP2Jonathan Corbet
Somehow I didn't ever quite get around to implementing suspend/resume on the MMP2 platform; this patch fixes that little oversight. A bit of core work was necessary to do the right thing in the s/g DMA case. Signed-off-by: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] lmedm04 DM04/QQBOX ver 1.91 turn pid filter off by caps option onlyMalcolm Priestley
Turn the pid filter off by caps option only. This is so the full stream is passed to demuxer and not limited by pid count. Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] em28xx: Reworked probe code to get rid of some hacksHolger Nelson
Reworked device probing to get rid of hacks to guess the maximum size of dvb iso transfer packets. The new code also selects the first alternate config which supports the largest possible iso transfers for dvb. [mchehab@redhat.com: Fix a few checkpatch.pl CodingStyle compliants] Signed-off-by: Holger Nelson <hnelson@hnelson.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] Added USB Id & configuration array for Honestech Vidbox NW03Gareth Williams
Adds support for the Honestech Vidbox NW03 USB capture device. Signed-off-by: Gareth Williams <gareth@garethwilliams.me.uk> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] em28xx: Add Terratec Cinergy HTC USB XS to em28xx-cards.cHolger Nelson
This adds support for the Terratec Cinergy HTC USB XS which is similar to the Terratec H5 by adding the USB-ids to the table. According to http://linux.terratec.de it uses the same ICs and DVB-C works for me using the firmware of the H5. Signed-off-by: Holger Nelson <hnelson@hnelson.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] dw2102: use symbolic names for dw2102_table indicesJonathan Nieder
dw2102_properties et al refer to entries in the USB-id table using hard-coded indices, as in "&dw2102_table[6]", which means adding new entries before the end of the list has the potential to introduce bugs in code elsewhere in the file. Use C99-style initializers with symbolic names for each index to avoid this. This way, other device tables wanting to reuse the USB ids can use expressions like "&dw2102_table[TEVII_S630]" that do not change as the entries in the table are reordered. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] drivers/staging/media/as102/as102_usb_drv.c: shift position of ↵Julia Lawall
allocation code The conditional after the kzalloc says that the tested expression should never be true, but if it were, the allocated data would have to be freed. This change just moves the allocation below the test, to avoid any possibility of the problem. A simplified version of the semantic match that finds the problem is as follows: (http://coccinelle.lip6.fr) // <smpl> @r exists@ local idexpression x; statement S; identifier f1; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } x->f1 ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] drivers/media/video/davinci/vpbe.c: introduce missing kfreeJulia Lawall
vpbe_dev needs to be freed before leaving the function in an error case. A simplified version of the semantic match that finds the problem is as follows: (http://coccinelle.lip6.fr) // <smpl> @r exists@ local idexpression x; statement S; identifier f1; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } x->f1 ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] Staging: dt3155v4l: probe() always failsDan Carpenter
There were some curly braces missing so the probe() function always failed. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] Staging: dt3155v4l: update to newer APIDan Carpenter
I changed the function definitions for dt3155_queue_setup() to match the newer API. The dt3155_start_streaming() function didn't do anything so I just removed it. This silences the following gcc warnings: drivers/staging/media/dt3155v4l/dt3155v4l.c:307:2: warning: initialization from incompatible pointer type [enabled by default] drivers/staging/media/dt3155v4l/dt3155v4l.c:307:2: warning: (near initialization for ‘q_ops.queue_setup’) [enabled by default] drivers/staging/media/dt3155v4l/dt3155v4l.c:311:2: warning: initialization from incompatible pointer type [enabled by default] drivers/staging/media/dt3155v4l/dt3155v4l.c:311:2: warning: (near initialization for ‘q_ops.start_streaming’) [enabled by default] Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Acked-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] media i.MX27 camera: Fix field_count handlingJavier Martin
To properly detect frame loss the driver must keep track of a frame_count. Furthermore, field_count use was erroneous because in progressive format this must be incremented twice. Signed-off-by: Javier Martin <javier.martin@vista-silicon.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] i.MX27 camera: add support for YUV420 formatJavier Martin
This patch uses channel 2 of the eMMa-PrP to convert format provided by the sensor to YUV420. This format is very useful since it is used by the internal H.264 encoder. Signed-off-by: Javier Martin <javier.martin@vista-silicon.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] atmel-isi: add code to enable/disable ISI_MCK clockJosh Wu
This patch - add ISI_MCK clock enable/disable code. - change field name in isi_platform_data structure Signed-off-by: Josh Wu <josh.wu@atmel.com> [g.liakhovetski@gmx.de: fix label names] Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] soc-camera: change order of removing deviceLei Wen
As our general practice, we use stream off before we close the video node. So that the drivers its stream off function would be called before its remove function. But for the case for ctrl+c, the program would be force closed. We have no chance to call that vb2 stream off from user space, but directly call the remove function in soc_camera. In that common code of soc_camera: ici->ops->remove(icd); if (ici->ops->init_videobuf2) vb2_queue_release(&icd->vb2_vidq); It would first call the device remove function, then release vb2, in which stream off function is called. Thus it create different order for the driver. This patch change the order to make driver see the same sequence to make it happy. Signed-off-by: Lei Wen <leiwen@marvell.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] mt9m111: properly implement .s_crop and .s_fmt(), reset on STREAMONGuennadi Liakhovetski
mt9m111 camera sensors support cropping and scaling. The current implementation is broken. For example, .s_crop() sets output frame sizes instead of the input cropping window. This patch adds a proper implementation of these methods. Besides it adds a sensor-disable and -enable operations on first open() and last close() respectively, to save power while closed and to return the camera to the default power-on state. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] mt9m111: power down most circuits when suspendedGuennadi Liakhovetski
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] mt9m111: cleanly separate register contextsGuennadi Liakhovetski
Cleanly separating register contexts A and B will allow us to configure the contexts independently. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] soc-camera: remove redundant parameter from .set_bus_param()Guennadi Liakhovetski
The "pixfmt" parameter of the struct soc_camera_host_ops::set_bus_param() method is redundant, because at the time, when this method is called, pixfmt is guaranteed to be equal to icd->current_fmt->host_fmt->fourcc. Remove this parameter and update all drivers accordingly. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] pwc: Properly fill all fields on try_fmtHans de Goede
Before this patch the resulting values from a try_fmt were different then those from a s_fmt with the same parameters. try_fmt simply did not touch / fill some values like bytesperline at all. This patch also corrects bytesperline to the proper value for a planar format such as the YUV420P format the pwc driver produces, which is the bytesperline value for the biggest plane, rather then those of all planes added together. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] pwc: Get rid of compression module parameterHans de Goede
Instead of making this a module parameter, automatically fallback to higher compression settings if there is not enough bandwidth. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] pwc: Remove software emulation of arbritary resolutionsHans de Goede
The pwc driver claims to support any resolution between 160x120 and 640x480, but emulates this by simply drawing a black border around the image. Userspace can draw its own black border if it really wants one. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] pwc: Remove driver specific ioctlsHans de Goede
This stems from the v4l1 era, with v4l2 everything can be done with standardized v4l2 API calls. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] pwc: Remove dead snapshot codeHans de Goede
The in kernel version of the pwc driver has never supported snapshot mode, and now that we no longer support the pixfmt.priv abuse there also no longer is a way for userspace to request it, rendering all the code in question dead (never called), so remove it. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] pwc: Remove driver specific use of pixfmt.priv in the pwc driverHans de Goede
The .priv field never was intended for this, setting a framerate is support using the standardized S_PARM ioctl. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] pwc: Remove driver specific sysfs interfaceHans de Goede
Setting pan/tilt should be done with v4l2 controls, like with other cams. The button is available as a standard input device Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>