summaryrefslogtreecommitdiff
path: root/linux/drivers
diff options
context:
space:
mode:
authorTrent Piepho <xyzzy@speakeasy.org>2007-01-30 18:25:46 -0800
committerTrent Piepho <xyzzy@speakeasy.org>2007-01-30 18:25:46 -0800
commitfca7ef71fcb220fb867d2f6d7e2e691adfa51906 (patch)
treee52871d1e273b53258c8c82969ebda47a9364c91 /linux/drivers
parent0b945b64fba3381dfc97c66722fe76193f0008d3 (diff)
downloadmediapointer-dvb-s2-fca7ef71fcb220fb867d2f6d7e2e691adfa51906.tar.gz
mediapointer-dvb-s2-fca7ef71fcb220fb867d2f6d7e2e691adfa51906.tar.bz2
compat: Handle input_register_device() change and some others
From: Trent Piepho <xyzzy@speakeasy.org> input_register_device() was changed to return an error code instead of being void in 2.6.15. Handle it with a macro wrapper in config.h. For this to work, linux/input.h must be included before config.h. This required some trivial header re-ordering in budget-ci.c and ttusb_dec.c. In kernel 2.6.15-rc1 a helper function called setup_timer() was added to linux/timer.h. Add to compat.h, but require that linux/timer.h be included first to give the definition of struct timer_list. A new 4GB DMA zone, __GFP_DMA32, was added in 2.6.15-rc2. Alias it to __GFP_DMA on older kernels. Handle another 2.6.15 "input_dev->dev to input_dev->cdev.dev" change for some recently added code in cinergyT2.c. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Diffstat (limited to 'linux/drivers')
-rw-r--r--linux/drivers/media/dvb/cinergyT2/cinergyT2.c4
-rw-r--r--linux/drivers/media/dvb/ttpci/budget-ci.c8
-rw-r--r--linux/drivers/media/dvb/ttusb-dec/ttusb_dec.c10
-rw-r--r--linux/drivers/media/video/ir-kbd-i2c.c2
4 files changed, 12 insertions, 12 deletions
diff --git a/linux/drivers/media/dvb/cinergyT2/cinergyT2.c b/linux/drivers/media/dvb/cinergyT2/cinergyT2.c
index 0de98c3eb..4b092d7c2 100644
--- a/linux/drivers/media/dvb/cinergyT2/cinergyT2.c
+++ b/linux/drivers/media/dvb/cinergyT2/cinergyT2.c
@@ -868,7 +868,11 @@ static int cinergyt2_register_rc(struct cinergyt2 *cinergyt2)
input_dev->id.vendor = cinergyt2->udev->descriptor.idVendor;
input_dev->id.product = cinergyt2->udev->descriptor.idProduct;
input_dev->id.version = 1;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15)
input_dev->cdev.dev = &cinergyt2->udev->dev;
+#else
+ input_dev->dev = &cinergyt2->udev->dev;
+#endif
err = input_register_device(input_dev);
if (err) {
diff --git a/linux/drivers/media/dvb/ttpci/budget-ci.c b/linux/drivers/media/dvb/ttpci/budget-ci.c
index b100cb485..045d25541 100644
--- a/linux/drivers/media/dvb/ttpci/budget-ci.c
+++ b/linux/drivers/media/dvb/ttpci/budget-ci.c
@@ -29,8 +29,6 @@
* the project's page is at http://www.linuxtv.org/dvb/
*/
-#include "budget.h"
-
#include <linux/module.h>
#include <linux/errno.h>
#include <linux/slab.h>
@@ -39,6 +37,8 @@
#include <linux/spinlock.h>
#include <media/ir-common.h>
+#include "budget.h"
+
#include "dvb_ca_en50221.h"
#include "stv0299.h"
#include "stv0297.h"
@@ -267,15 +267,11 @@ static int msp430_ir_init(struct budget_ci *budget_ci)
input_dev->timer.function = msp430_ir_keyup;
input_dev->timer.data = (unsigned long) &budget_ci->ir;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15)
error = input_register_device(input_dev);
if (error) {
printk(KERN_ERR "budget_ci: could not init driver for IR device (code %d)\n", error);
goto out2;
}
-#else
- input_register_device(input_dev);
-#endif
tasklet_init(&budget_ci->ir.msp430_irq_tasklet, msp430_ir_interrupt,
(unsigned long) budget_ci);
diff --git a/linux/drivers/media/dvb/ttusb-dec/ttusb_dec.c b/linux/drivers/media/dvb/ttusb-dec/ttusb_dec.c
index b1598680d..74a710019 100644
--- a/linux/drivers/media/dvb/ttusb-dec/ttusb_dec.c
+++ b/linux/drivers/media/dvb/ttusb-dec/ttusb_dec.c
@@ -20,11 +20,6 @@
*
*/
-#include "compat.h"
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
-#include <linux/mutex.h>
-#endif
-
#include <linux/list.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
@@ -38,6 +33,11 @@
#include <linux/init.h>
#include <linux/input.h>
+#include "compat.h"
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,15)
+#include <linux/mutex.h>
+#endif
+
#include "dmxdev.h"
#include "dvb_demux.h"
#include "dvb_filter.h"
diff --git a/linux/drivers/media/video/ir-kbd-i2c.c b/linux/drivers/media/video/ir-kbd-i2c.c
index 95566ff19..380766944 100644
--- a/linux/drivers/media/video/ir-kbd-i2c.c
+++ b/linux/drivers/media/video/ir-kbd-i2c.c
@@ -41,9 +41,9 @@
#include <linux/workqueue.h>
#include <asm/semaphore.h>
-#include "compat.h"
#include <media/ir-common.h>
#include <media/ir-kbd-i2c.h>
+#include "compat.h"
/* ----------------------------------------------------------------------- */
/* insmod parameters */