Date: Sun, 20 Feb 2011 12:15:32 +0100 From: Juergen Lock <nox@jelal.kn-bremen.de> To: hselasky@FreeBSD.org Cc: multimedia@FreeBSD.org Subject: Just tested sending ir with the updated lirc and mceusb... Message-ID: <20110220111532.GA20755@triton8.kn-bremen.de>
next in thread | raw e-mail | index | archive | help
..and found a few more lirc ioctls that needed fixing (or at
least for 64 bit hosts), so here is an update to my remote patch
in webcamd svn:
Index: patches/lirc-patches.diff
===================================================================
--- patches/lirc-patches.diff (revision 1750)
+++ patches/lirc-patches.diff (working copy)
@@ -1,3 +1,46 @@
+--- ../v4l-dvb/linux/drivers/media/IR/ir-lirc-codec.c.orig
++++ ../v4l-dvb/linux/drivers/media/IR/ir-lirc-codec.c
+@@ -104,7 +104,7 @@ static int ir_lirc_ioctl(struct inode *n
+ struct ir_input_dev *ir_dev;
+ int ret = 0;
+ void *drv_data;
+- unsigned long val;
++ __u32 val;
+
+ lirc = lirc_get_pdata(filep);
+ if (!lirc)
+@@ -118,7 +118,7 @@ static int ir_lirc_ioctl(struct inode *n
+
+ switch (cmd) {
+ case LIRC_SET_TRANSMITTER_MASK:
+- ret = get_user(val, (unsigned long *)arg);
++ ret = get_user(val, (__u32 *)arg);
+ if (ret)
+ return ret;
+
+@@ -129,7 +129,7 @@ static int ir_lirc_ioctl(struct inode *n
+ break;
+
+ case LIRC_SET_SEND_CARRIER:
+- ret = get_user(val, (unsigned long *)arg);
++ ret = get_user(val, (__u32 *)arg);
+ if (ret)
+ return ret;
+
+@@ -141,11 +141,11 @@ static int ir_lirc_ioctl(struct inode *n
+
+ case LIRC_GET_SEND_MODE:
+ val = LIRC_CAN_SEND_PULSE & LIRC_CAN_SEND_MASK;
+- ret = put_user(val, (unsigned long *)arg);
++ ret = put_user(val, (__u32 *)arg);
+ break;
+
+ case LIRC_SET_SEND_MODE:
+- ret = get_user(val, (unsigned long *)arg);
++ ret = get_user(val, (__u32 *)arg);
+ if (ret)
+ return ret;
+
--- ../v4l-dvb/linux/drivers/media/IR/lirc_dev.c.orig
+++ ../v4l-dvb/linux/drivers/media/IR/lirc_dev.c
@@ -519,7 +519,7 @@ EXPORT_SYMBOL(lirc_dev_fop_poll);
@@ -36,6 +79,33 @@
if (!result && !(LIRC_MODE2REC(mode) & ir->d.features))
result = -EINVAL;
/*
+@@ -563,7 +563,7 @@ int lirc_dev_fop_ioctl(struct inode *ino
+ */
+ break;
+ case LIRC_GET_LENGTH:
+- result = put_user(ir->d.code_length, (unsigned long *)arg);
++ result = put_user(ir->d.code_length, (__u32 *)arg);
+ break;
+ case LIRC_GET_MIN_TIMEOUT:
+ if (!(ir->d.features & LIRC_CAN_SET_REC_TIMEOUT) ||
+@@ -572,7 +572,7 @@ int lirc_dev_fop_ioctl(struct inode *ino
+ break;
+ }
+
+- result = put_user(ir->d.min_timeout, (unsigned long *)arg);
++ result = put_user(ir->d.min_timeout, (__u32 *)arg);
+ break;
+ case LIRC_GET_MAX_TIMEOUT:
+ if (!(ir->d.features & LIRC_CAN_SET_REC_TIMEOUT) ||
+@@ -581,7 +581,7 @@ int lirc_dev_fop_ioctl(struct inode *ino
+ break;
+ }
+
+- result = put_user(ir->d.max_timeout, (unsigned long *)arg);
++ result = put_user(ir->d.max_timeout, (__u32 *)arg);
+ break;
+ default:
+ result = -EINVAL;
--- ../v4l-dvb/linux/drivers/media/IR/lirc_dev.h.orig
+++ ../v4l-dvb/linux/drivers/media/IR/lirc_dev.h
@@ -128,7 +128,7 @@ struct lirc_driver {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110220111532.GA20755>
