summaryrefslogtreecommitdiff
path: root/v4l/compat.h
AgeCommit message (Collapse)Author
2009-01-09backport commit 5f820f648c92a5ecc771a96b3c29aa6e90013bbaMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Author: Tejun Heo <htejun@gmail.com> poll: allow f_op->poll to sleep f_op->poll is the only vfs operation which is not allowed to sleep. It's because poll and select implementation used task state to synchronize against wake ups, which doesn't have to be the case anymore as wait/wake interface can now use custom wake up functions. The non-sleep restriction can be a bit tricky because ->poll is not called from an atomic context and the result of accidentally sleeping in ->poll only shows up as temporary busy looping when the timing is right or rather wrong. This patch converts poll/select to use custom wake up function and use separate triggered variable to synchronize against wake up events. The only added overhead is an extra function call during wake up and negligible. This patch removes the one non-sleep exception from vfs locking rules and is beneficial to userland filesystem implementations like FUSE, 9p or peculiar fs like spufs as it's very difficult for those to implement non-sleeping poll method. While at it, make the following cosmetic changes to make poll.h and select.c checkpatch friendly. * s/type * symbol/type *symbol/ : three places in poll.h * remove blank line before EXPORT_SYMBOL() : two places in select.c Oleg: spotted missing barrier in poll_schedule_timeout() Davide: spotted missing write barrier in pollwake() kernel-sync: Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-01-06compat.h: Fix a small error at the compat codeMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> CC: Nicola Soranzo <nsoranzo@tiscali.it>
2009-01-06fix compile with Fedora 10 kernelMauro Carvalho Chehab
From: Nicola Soranzo <nsoranzo@tiscali.it> Fix compile error about ioremap_nocache with kernel 2.6.27.9 shipped by Fedora 10. Signed-off-by: Nicola Soranzo <nsoranzo@tiscali.it> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-12-30Fix compilation against RHEL kernelMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-12-30v4l: fix compile errors for older kernelsHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-12-30Add compat support for usb_endpoint_type()Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> While here, make sure that config-compat.h is rebuild if the script change. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-12-30Fix compilation for kernels older than 2.6.28Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-12-03backport commit 0eade1f930fa3ba6461b34baf3ed8fa7c4abc40fMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Author: Wang Chen <wangchen@cn.fujitsu.com> dvb: Kill directly reference of netdev->priv Simply replace netdev->priv with netdev_priv(). kernel-sync: Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-12-20v4l2-dev: use the release callback from device instead of cdevHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Instead of relying on the cdev release callback we should rely on the release callback from the device struct. This requires that we use get_device/put_device to do proper refcounting. In order to do this safely v4l2-dev.c now sets up its own file_operations that call out to the driver's ops. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-11-25fix boards for kernels with algo_controlMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> changeset 4ecae6da8244 removed algo_control from i2c drivers. However, on older kernels, a dummy function to implement algo_control is required, otherwise, an OOPS is generated. This patch adds a backport for all i2c drivers that defines an i2c_algorithm, except for cafe_ccic, since OLPC hardware only works for kernels newer than 2.6.19. Some of the backported drivers would need also extra changes to work with older kernels, as specified on v4l/versions.txt. Yet, I decided to add the backport for those drivers also, since the lack of algo_control doesn't generate any compilation error, but it is enough to break the driver. So, better to all for all boards than to allow compiling a kernel backported that just generates OOPS. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-22Improve compatibility with RHEL kernelsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-20compat.h: fix uninitialized_var macroHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-11-12merge: http://linuxtv.org/hg/~pinchartl/uvcvideoMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-11uvcvideo: Enable compilation on kernels older than 2.6.22Laurent Pinchart
From: Laurent Pinchart <laurent.pinchart@skynet.be> The uvcvideo driver makes use of the usb_endpoint_* functions as well as the list_first_entry and uninitialized_var macros. Add them to v4l/compat.h and update the driver with kernel version-based conditional compilation sections. Priority: normal Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
2008-11-11Backport a few minor changes from upstreamMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> kernel-sync: Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-11-06v4l: fix dev_set_name compiler errors for kernels < 2.6.26Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-10-24Fix compilation with RHEL 5.2 kernelMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> RHEL 5 already declares bool. Still, there are some warnings that probably indicate that something else needs to be done for the code to work with RHEL5. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-09-03backport commit aa7a7fb3990ffc74945494cbd2fc6e920825ee2cMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Author: David Woodhouse <David.Woodhouse@intel.com> Define and use PCI_DEVICE_ID_MARVELL_88ALP01_CCIC for CAFÉ camera driver Also, stop looking at the NAND controller (0x4100) and checking the device class. For a while during development, all three functions on the chip had the same ID. We made them fix that fairly promptly, and we can forget about it now. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-12Fix build breakage with kernels lower than 2.6.28Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> This patch fixes compilation for older kernels. However, due to -alsa changes on saa7134-alsa and snd-bt878, I'm not sure if this is enough for it to really work. I suspect that something else may be needed for they to work with earlier versions. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-08-30compat: add current_uid define to fix compile errors on kernels < 2.6.27Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-08-22compat.h: add DIV_ROUND_UP for kernels <= 2.6.18Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-26Fix compat for stkcamMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-07-18videobuf-dma-contig.c: fix 64-bit build for pre-2.6.24 kernelsHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-17videodev/dabusb/dvbdev: fix 2.6.16 compilationHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> struct file_operations was made const in 2.6.17. Cast const away when compiling under 2.6.16. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-14sms1xxx: fix compat for kernel 2.6.23 and earlierMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2008-07-08v4l-dvb: remove support for kernels < 2.6.16Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Phase 4 removes the compatibility support for kernels < 2.6.16. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-08v4l-dvb: remove support for kernels < 2.6.13Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Phase 3 of the compat cleanup. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-08v4l-dvb: remove support for kernels < 2.6.10Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Phase 2 removes support for kernels < 2.6.10. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-08v4l-dvb: remove support for kernels < 2.6.0Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> First phase of the backwards compatibility cleanup: stop supporting kernels older than 2.6.0. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-28Fix s2255drv compilation against older kernelsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> As reported by Hermann Pitton: CC [M] /mnt/xfer/mercurial/v4l-dvb-head/v4l-dvb/v4l/s2255drv.o s2255drv.c: In function 'vidioc_querycap': s2255drv.c:809: error: implicit declaration of function 'dev_name' s2255drv.c:809: warning: passing argument 2 of 'strlcpy' makes pointer from integer without a cast Tested with kernel 2.6.25.6 Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-06-28Fix compat with older kernelsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-06-10Fix compilation with kernel 2.6.25Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-06-03fix compat.hMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Thanks to e9hack <e9hack@googlemail.com> for pointing this issue. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-06-03Add compat functions for 32 bits unaligned macrosMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-05-02add compat code for proc_create_data()Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-05-02backport commit bdf4bbaaee3d4b8f555658333cbce1affe9070fbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> kernel-sync: Author: Harvey Harrison <harvey.harrison@gmail.com> Date: Wed Apr 30 00:54:55 2008 -0700 Add macros similar to min/max/min_t/max_t Also, change the variable names used in the min/max macros to avoid shadowed variable warnings when min/max min_t/max_t are nested. Small formatting changes to make all the macros have a similar form. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: fix v4l build] Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-30Fixes compilation for drx397xDMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-18Fix building with kernel 2.6.25Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Thanks to Dâniel Fraga <fraga@abusar.org> for pointing this issue CC: Dâniel Fraga <fraga@abusar.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-16Building system: fix compilation against non-linux-next kernelsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-03-28Avoid build warnings for distro-patched 2.6.24 kernelsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-02-17compat.h: Keep cancel_delayed_work_sync() compatible with kernel < 2.6.23Douglas Schilling Landgraf
From: Tobias Lorenz <tobias.lorenz@gmx.net> Added define to keep cancel_delayed_work_sync() compatible with old kernel. (< 2.6.23) Signed-off-by: Tobias Lorenz <tobias.lorenz@gmx.net> Reviewed-by: Douglas Schilling Landgraf <dougsland@gmail.com>
2008-02-05Fix BUG in changeset 7157Mauro Carvalho Chehab
From: e9hack <e9hack@googlemail.com> compiling of the current HG tree fails on linux 2.6.24. I think it is a bug in changeset 7157: The definition of i2c_verify_client() should not be inside #ifndef BIT_MASK / #endif. The variable i2c_bus_type is only public on 2.6.23.x (maybe also on earlier versions) but not on 2.6.24. The following patch does fix the problem on 2.6.24 for me: Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-02-05Fix compilation against kernel 2.6.23Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-27Fix compilation with kernel 2.6.24Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-18Remove sound/driver.hMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> sound/driver.h is already included by sound/core. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-01-15Adds the proper compatibility code for radio-si470x and stk-webcamMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Make radio-si470x and stk-webcam backward compatible with older kernels. This patch adds compat.h header for those files, reorder include order and adds USB_DEVICE_AND_INTERFACE_INFO macro. Thiw way, stk-webcam is backward compatible with 2.6.22, and radio-si470x with kernel 2.6.20. The backports weren't tested, but compile fine. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-16Fix driver for i386 architecturesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Also, fixed backporting up to 2.6.20 Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-06Fix compilation with kernel 2.6.24-rc1Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> - kbuild change: CPPFLAGS should be replaced by KBUILD_CPPFLAGS; - I2C_PEC is now defined at i2c-dev.h; - task_pid_nr compat code is wrong. Thanks to Maxim Levinsky for pointing me those issues Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-11-01v4l/compat.h: add KERN_CONT for pre-2.6.24 kernelsHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-11-02Add compatibility code for BIT_MASK and BIT_WORDMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>