This commit is contained in:
parent
d74ebd297a
commit
d8860253bb
@ -1,156 +0,0 @@
|
|||||||
--- lirc-0.8.2/drivers/Makefile.am
|
|
||||||
+++ lirc-0.8.2/drivers/Makefile.am
|
|
||||||
@@ -15,6 +15,7 @@
|
|
||||||
lirc_i2c \
|
|
||||||
lirc_igorplugusb \
|
|
||||||
lirc_imon \
|
|
||||||
+ lirc_imon2 \
|
|
||||||
lirc_it87 \
|
|
||||||
lirc_mceusb \
|
|
||||||
lirc_mceusb2 \
|
|
||||||
--- lirc-0.8.2/drivers/lirc_imon/Makefile.am
|
|
||||||
+++ lirc-0.8.2/drivers/lirc_imon/Makefile.am
|
|
||||||
@@ -5,9 +5,9 @@
|
|
||||||
## this is so that Automake includes the C compiling definitions, and
|
|
||||||
## includes the source files in the distribution.
|
|
||||||
EXTRA_PROGRAMS = automake_dummy
|
|
||||||
-automake_dummy_SOURCES = lirc_imon.c
|
|
||||||
+automake_dummy_SOURCES = lirc_imon2.c
|
|
||||||
|
|
||||||
## there is no *just* object file support in automake. This is close enough
|
|
||||||
-module_DATA = lirc_imon.o
|
|
||||||
+module_DATA = lirc_imon2.o
|
|
||||||
|
|
||||||
-include ../Makefile.common
|
|
||||||
\ No newline at end of file
|
|
||||||
+include ../Makefile.common
|
|
||||||
--- lirc-0.8.2/drivers/lirc_imon/lirc_imon.c
|
|
||||||
+++ lirc-0.8.2/drivers/lirc_imon/lirc_imon.c
|
|
||||||
@@ -65,9 +65,9 @@
|
|
||||||
|
|
||||||
|
|
||||||
#define MOD_AUTHOR "Venky Raju <dev@venky.ws>"
|
|
||||||
-#define MOD_DESC "Driver for Soundgraph iMON MultiMedian IR/VFD"
|
|
||||||
-#define MOD_NAME "lirc_imon"
|
|
||||||
-#define MOD_VERSION "0.3"
|
|
||||||
+#define MOD_DESC "Driver for Soundgraph iMON MultiMedian IR/VFD w/imon pad2keys patch"
|
|
||||||
+#define MOD_NAME "lirc_imon2"
|
|
||||||
+#define MOD_VERSION "0.3p2k"
|
|
||||||
|
|
||||||
#define VFD_MINOR_BASE 144 /* Same as LCD */
|
|
||||||
#define DEVFS_MODE S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH
|
|
||||||
@@ -81,6 +81,7 @@
|
|
||||||
#define SUCCESS 0
|
|
||||||
#define TRUE 1
|
|
||||||
#define FALSE 0
|
|
||||||
+#define CURSOR_LIMIT 16
|
|
||||||
|
|
||||||
|
|
||||||
/* ------------------------------------------------------------
|
|
||||||
@@ -166,6 +167,9 @@
|
|
||||||
atomic_t busy; /* write in progress */
|
|
||||||
int status; /* status of tx completion */
|
|
||||||
} tx;
|
|
||||||
+ int key_x;
|
|
||||||
+ int key_y;
|
|
||||||
+ int last_count; /* number of times pressed */
|
|
||||||
};
|
|
||||||
|
|
||||||
#define LOCK_CONTEXT down (&context ->sem)
|
|
||||||
@@ -256,6 +260,7 @@
|
|
||||||
|
|
||||||
MODULE_AUTHOR (MOD_AUTHOR);
|
|
||||||
MODULE_DESCRIPTION (MOD_DESC);
|
|
||||||
+MODULE_VERSION(MOD_VERSION); /* MBr: was missing */
|
|
||||||
MODULE_LICENSE ("GPL");
|
|
||||||
MODULE_DEVICE_TABLE (usb, imon_usb_id_table);
|
|
||||||
module_param (debug, int, 0);
|
|
||||||
@@ -682,6 +687,11 @@
|
|
||||||
context ->rx.initial_space = 1;
|
|
||||||
context ->rx.prev_bit = 0;
|
|
||||||
|
|
||||||
+ /* init pad context */
|
|
||||||
+ context ->key_x = 0;
|
|
||||||
+ context ->key_y = 0;
|
|
||||||
+ context ->last_count = 0;
|
|
||||||
+
|
|
||||||
usb_fill_int_urb (context ->rx_urb, context ->dev,
|
|
||||||
usb_rcvintpipe (context ->dev,
|
|
||||||
context ->rx_endpoint-> bEndpointAddress),
|
|
||||||
@@ -836,6 +846,76 @@
|
|
||||||
|
|
||||||
/* The signals have been decoded onboard the iMON controller */
|
|
||||||
|
|
||||||
+ /* encode mouse pad as key events */
|
|
||||||
+ /* we like pad events, not mouse button events*/
|
|
||||||
+ if((buf[0] & 0x40) &&
|
|
||||||
+ !(buf[1] & 0x01 || buf[1] >> 2 & 0x01))
|
|
||||||
+ {
|
|
||||||
+ int rel_x = (buf[1] & 0x08) | (buf[1] & 0x10) >> 2 | (buf[1] & 0x20) >> 4 | (buf[1] & 0x40) >> 6;
|
|
||||||
+ int rel_y = (buf[2] & 0x08) | (buf[2] & 0x10) >> 2 | (buf[2] & 0x20) >> 4 | (buf[2] & 0x40) >> 6;
|
|
||||||
+
|
|
||||||
+ if(buf[0] & 0x02)
|
|
||||||
+ rel_x |= ~0x10+1;
|
|
||||||
+ if(buf[0] & 0x01)
|
|
||||||
+ rel_y |= ~0x10+1;
|
|
||||||
+
|
|
||||||
+ /* keyboard direction key emulation */
|
|
||||||
+ if( context->last_count > 32 )
|
|
||||||
+ { /* Hopefully eliminate drift*/
|
|
||||||
+ context->last_count=0;
|
|
||||||
+ context->key_y=0;
|
|
||||||
+ context->key_x=0;
|
|
||||||
+ }
|
|
||||||
+ context->last_count++;
|
|
||||||
+
|
|
||||||
+ /* limit decoded events */
|
|
||||||
+ if(abs(context->key_x) > CURSOR_LIMIT || abs(context->key_y) > CURSOR_LIMIT )
|
|
||||||
+ {
|
|
||||||
+ if(abs(context->key_y ) > abs(context->key_x))
|
|
||||||
+ { /* mouse s/n */
|
|
||||||
+ if(context->key_y > 0 && rel_y > 0)
|
|
||||||
+ { /* mouse s */
|
|
||||||
+ buf[0] = 0x68;
|
|
||||||
+ buf[1] = 0x82;
|
|
||||||
+ buf[2] = 0x91;
|
|
||||||
+ }
|
|
||||||
+ else if(context->key_y < 0 && rel_y < 0)
|
|
||||||
+ { /* mouse n */
|
|
||||||
+ buf[0] = 0x69;
|
|
||||||
+ buf[1] = 0x02;
|
|
||||||
+ buf[2] = 0x81;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ { /* mouse e/w*/
|
|
||||||
+ if(context->key_x > 0 && rel_x > 0 )
|
|
||||||
+ { /* mouse e */
|
|
||||||
+ buf[0] = 0x68;
|
|
||||||
+ buf[1] = 0x8A;
|
|
||||||
+ buf[2] = 0x81;
|
|
||||||
+ }
|
|
||||||
+ else if(context->key_x < 0 && rel_x < 0 )
|
|
||||||
+ { /* mouse w */
|
|
||||||
+ buf[0] = 0x6A;
|
|
||||||
+ buf[1] = 0x82;
|
|
||||||
+ buf[2] = 0x81;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ context->key_x += rel_x;
|
|
||||||
+ context->key_y += rel_y;
|
|
||||||
+
|
|
||||||
+ return; /* discard those key codes */
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /* a key was pressed, reset count */
|
|
||||||
+ context->key_x = 0;
|
|
||||||
+ context->key_y = 0;
|
|
||||||
+ context->last_count = 0;
|
|
||||||
+
|
|
||||||
lirc_buffer_write_1 (context ->plugin ->rbuf, buf);
|
|
||||||
wake_up (&context ->plugin ->rbuf ->wait_poll);
|
|
||||||
return;
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:717e62ee763bad9c1ffc25dd096a8845d252eaa050f16f67c6fe3506194e7f62
|
|
||||||
size 634331
|
|
3
lirc-0.8.3.tar.bz2
Normal file
3
lirc-0.8.3.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:8190c84fb40376380c163009808df4bd25bac53890261a48c522bb9ccad5723f
|
||||||
|
size 667882
|
262
lirc-0.8.3pre1-imon-pad2keys.patch
Normal file
262
lirc-0.8.3pre1-imon-pad2keys.patch
Normal file
@ -0,0 +1,262 @@
|
|||||||
|
Index: lirc-0.8.3/drivers/lirc_imon/lirc_imon.c
|
||||||
|
===================================================================
|
||||||
|
--- lirc-0.8.3.orig/drivers/lirc_imon/lirc_imon.c
|
||||||
|
+++ lirc-0.8.3/drivers/lirc_imon/lirc_imon.c
|
||||||
|
@@ -73,9 +73,9 @@
|
||||||
|
|
||||||
|
|
||||||
|
#define MOD_AUTHOR "Venky Raju <dev@venky.ws>"
|
||||||
|
-#define MOD_DESC "Driver for Soundgraph iMON MultiMedia IR/VFD"
|
||||||
|
+#define MOD_DESC "Driver for Soundgraph iMON MultiMedia IR/VFD w/imon pad2keys patch"
|
||||||
|
#define MOD_NAME "lirc_imon"
|
||||||
|
-#define MOD_VERSION "0.3"
|
||||||
|
+#define MOD_VERSION "0.3p2k"
|
||||||
|
|
||||||
|
#define VFD_MINOR_BASE 144 /* Same as LCD */
|
||||||
|
#define DEVFS_MODE (S_IFCHR | S_IRUSR | S_IWUSR | \
|
||||||
|
@@ -91,6 +91,7 @@
|
||||||
|
#define TRUE 1
|
||||||
|
#define FALSE 0
|
||||||
|
|
||||||
|
+#define CURSOR_LIMIT 16
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------
|
||||||
|
* P R O T O T Y P E S
|
||||||
|
@@ -177,6 +178,10 @@ struct imon_context {
|
||||||
|
atomic_t busy; /* write in progress */
|
||||||
|
int status; /* status of tx completion */
|
||||||
|
} tx;
|
||||||
|
+
|
||||||
|
+ int key_x;
|
||||||
|
+ int key_y;
|
||||||
|
+ int last_count; /* number of times pressed */
|
||||||
|
};
|
||||||
|
|
||||||
|
#define LOCK_CONTEXT down(&context->sem)
|
||||||
|
@@ -248,6 +253,9 @@ static int is_lcd = 1;
|
||||||
|
static int is_lcd; /* If LIRC_IMON_LCD not defined, default to non-LCD */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+/* pad2keys module parameter. pad2keys patch active? */
|
||||||
|
+static int pad2keys_active = 0;
|
||||||
|
+
|
||||||
|
#if !defined(KERNEL_2_5)
|
||||||
|
|
||||||
|
#define MAX_DEVICES 4 /* In case there's more than one iMON device */
|
||||||
|
@@ -271,12 +279,16 @@ extern devfs_handle_t usb_devfs_handle;
|
||||||
|
|
||||||
|
MODULE_AUTHOR(MOD_AUTHOR);
|
||||||
|
MODULE_DESCRIPTION(MOD_DESC);
|
||||||
|
+MODULE_VERSION(MOD_VERSION); /* MBr: was missing */
|
||||||
|
MODULE_LICENSE("GPL");
|
||||||
|
MODULE_DEVICE_TABLE(usb, imon_usb_id_table);
|
||||||
|
|
||||||
|
module_param(debug, int, 0);
|
||||||
|
MODULE_PARM_DESC(debug, "Debug messages: 0=no, 1=yes(default: no)");
|
||||||
|
|
||||||
|
+module_param (pad2keys_active, int, 0);
|
||||||
|
+MODULE_PARM_DESC (pad2keys_active, "pad2keys patch active: 0=no, 1=yes (default: no)");
|
||||||
|
+
|
||||||
|
#ifdef LIRC_IMON_LCD
|
||||||
|
module_param(is_lcd, int, 1);
|
||||||
|
MODULE_PARM_DESC(is_lcd, "The device is an LCD: 0=no (it's a VFD), "
|
||||||
|
@@ -766,6 +778,11 @@ static int ir_open(void *data)
|
||||||
|
context->rx.initial_space = 1;
|
||||||
|
context->rx.prev_bit = 0;
|
||||||
|
|
||||||
|
+ /* init pad context for pad2keys */
|
||||||
|
+ context ->key_x = 0;
|
||||||
|
+ context ->key_y = 0;
|
||||||
|
+ context ->last_count = 0;
|
||||||
|
+
|
||||||
|
usb_fill_int_urb(context->rx_urb, context->dev,
|
||||||
|
usb_rcvintpipe(context->dev,
|
||||||
|
context->rx_endpoint->bEndpointAddress),
|
||||||
|
@@ -915,6 +932,94 @@ static inline void incoming_packet(struc
|
||||||
|
|
||||||
|
if (context->ir_onboard_decode) {
|
||||||
|
/* The signals have been decoded onboard the iMON controller */
|
||||||
|
+
|
||||||
|
+ if (pad2keys_active)
|
||||||
|
+ {
|
||||||
|
+ /* imon pad2keys patch
|
||||||
|
+ *
|
||||||
|
+ * make PAD and mouse buttons available for use with VDR,
|
||||||
|
+ * based on pad-mouse-emu patch from venky's forum
|
||||||
|
+ *
|
||||||
|
+ * last change: M.Brakemeier 2007-10-14
|
||||||
|
+ *
|
||||||
|
+ * generated PAD key codes:
|
||||||
|
+ * Mouse_N 0x690281B7
|
||||||
|
+ * Mouse_S 0x688291B7
|
||||||
|
+ * Mouse_W 0x6A8281B7
|
||||||
|
+ * Mouse_E 0x688A81B7
|
||||||
|
+ *
|
||||||
|
+ * mouse buttons (non-synthetic):
|
||||||
|
+ * MouseRightClick 0x688481B7
|
||||||
|
+ * MouseLeftClick 0x688301B7
|
||||||
|
+ */
|
||||||
|
+ if((buf[0] & 0x40) &&
|
||||||
|
+ !(buf[1] & 0x01 || buf[1] >> 2 & 0x01))
|
||||||
|
+ {
|
||||||
|
+ int rel_x = (buf[1] & 0x08) | (buf[1] & 0x10) >> 2 | (buf[1] & 0x20) >> 4 | (buf[1] & 0x40) >> 6;
|
||||||
|
+ int rel_y = (buf[2] & 0x08) | (buf[2] & 0x10) >> 2 | (buf[2] & 0x20) >> 4 | (buf[2] & 0x40) >> 6;
|
||||||
|
+
|
||||||
|
+ if(buf[0] & 0x02)
|
||||||
|
+ rel_x |= ~0x10+1;
|
||||||
|
+ if(buf[0] & 0x01)
|
||||||
|
+ rel_y |= ~0x10+1;
|
||||||
|
+
|
||||||
|
+ /* keyboard direction key emulation */
|
||||||
|
+ if( context->last_count > 32 )
|
||||||
|
+ { /* Hopefully eliminate drift*/
|
||||||
|
+ context->last_count=0;
|
||||||
|
+ context->key_y=0;
|
||||||
|
+ context->key_x=0;
|
||||||
|
+ }
|
||||||
|
+ context->last_count++;
|
||||||
|
+
|
||||||
|
+ /* limit decoded events */
|
||||||
|
+ if(abs(context->key_x) > CURSOR_LIMIT || abs(context->key_y) > CURSOR_LIMIT )
|
||||||
|
+ {
|
||||||
|
+ if(abs(context->key_y ) > abs(context->key_x))
|
||||||
|
+ { /* mouse s/n */
|
||||||
|
+ if(context->key_y > 0 && rel_y > 0)
|
||||||
|
+ { /* mouse s */
|
||||||
|
+ buf[0] = 0x68;
|
||||||
|
+ buf[1] = 0x82;
|
||||||
|
+ buf[2] = 0x91;
|
||||||
|
+ }
|
||||||
|
+ else if(context->key_y < 0 && rel_y < 0)
|
||||||
|
+ { /* mouse n */
|
||||||
|
+ buf[0] = 0x69;
|
||||||
|
+ buf[1] = 0x02;
|
||||||
|
+ buf[2] = 0x81;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ { /* mouse e/w*/
|
||||||
|
+ if(context->key_x > 0 && rel_x > 0 )
|
||||||
|
+ { /* mouse e */
|
||||||
|
+ buf[0] = 0x68;
|
||||||
|
+ buf[1] = 0x8A;
|
||||||
|
+ buf[2] = 0x81;
|
||||||
|
+ }
|
||||||
|
+ else if(context->key_x < 0 && rel_x < 0 )
|
||||||
|
+ { /* mouse w */
|
||||||
|
+ buf[0] = 0x6A;
|
||||||
|
+ buf[1] = 0x82;
|
||||||
|
+ buf[2] = 0x81;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ {
|
||||||
|
+ context->key_x += rel_x;
|
||||||
|
+ context->key_y += rel_y;
|
||||||
|
+
|
||||||
|
+ return; /* discard those key codes */
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ /* a key was pressed, reset count */
|
||||||
|
+ context->key_x = 0;
|
||||||
|
+ context->key_y = 0;
|
||||||
|
+ context->last_count = 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
lirc_buffer_write_1(context->plugin->rbuf, buf);
|
||||||
|
wake_up(&context->plugin->rbuf->wait_poll);
|
||||||
|
return;
|
||||||
|
Index: lirc-0.8.3/remotes/imon/lircd.conf.imon-pad2keys
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null
|
||||||
|
+++ lirc-0.8.3/remotes/imon/lircd.conf.imon-pad2keys
|
||||||
|
@@ -0,0 +1,88 @@
|
||||||
|
+# Please make this file available to others
|
||||||
|
+# by sending it to <lirc@bartelmus.de>
|
||||||
|
+#
|
||||||
|
+# this config file was generated
|
||||||
|
+# using lirc-0.8.3pre1 (imon w/pad2keys patch)
|
||||||
|
+#
|
||||||
|
+# contributed by M.Brakemeier
|
||||||
|
+#
|
||||||
|
+# brand: SoundGraph
|
||||||
|
+# model no. of remote control: iMON-PAD
|
||||||
|
+# devices being controlled by this remote:
|
||||||
|
+#
|
||||||
|
+
|
||||||
|
+begin remote
|
||||||
|
+
|
||||||
|
+ name iMON-PAD
|
||||||
|
+ bits 32
|
||||||
|
+ eps 30
|
||||||
|
+ aeps 100
|
||||||
|
+
|
||||||
|
+ one 0 0
|
||||||
|
+ zero 0 0
|
||||||
|
+ gap 235965
|
||||||
|
+ min_repeat 1
|
||||||
|
+ toggle_bit 0
|
||||||
|
+
|
||||||
|
+ begin codes
|
||||||
|
+ AppExit 0x288195B7
|
||||||
|
+ Power 0x289115B7
|
||||||
|
+ Record 0x298115B7
|
||||||
|
+ Play 0x2A8115B7
|
||||||
|
+ Open 0x29B1D5B7
|
||||||
|
+ Rewind 0x2A8195B7
|
||||||
|
+ Pause 0x2A9115B7
|
||||||
|
+ FastForward 0x2B8115B7
|
||||||
|
+ PrevChapter 0x2B9115B7
|
||||||
|
+ Stop 0x2B9715B7
|
||||||
|
+ NextChapter 0x298195B7
|
||||||
|
+ Esc 0x2BB715B7
|
||||||
|
+ Eject 0x299395B7
|
||||||
|
+ AppLauncher 0x29B715B7
|
||||||
|
+ MultiMon 0x2AB195B7
|
||||||
|
+ TaskSwitcher 0x2A9395B7
|
||||||
|
+ Mute 0x2B9595B7
|
||||||
|
+ Vol+ 0x28A395B7
|
||||||
|
+ Vol- 0x28A595B7
|
||||||
|
+ Ch+ 0x289395B7
|
||||||
|
+ Ch- 0x288795B7
|
||||||
|
+ Timer 0x2B8395B7
|
||||||
|
+ 1 0x28B595B7
|
||||||
|
+ 2 0x2BB195B7
|
||||||
|
+ 3 0x28B195B7
|
||||||
|
+ 4 0x2A8595B7
|
||||||
|
+ 5 0x299595B7
|
||||||
|
+ 6 0x2AA595B7
|
||||||
|
+ 7 0x2B9395B7
|
||||||
|
+ 8 0x2A8515B7
|
||||||
|
+ 9 0x2AA115B7
|
||||||
|
+ 0 0x2BA595B7
|
||||||
|
+ ShiftTab 0x28B515B7
|
||||||
|
+ Tab 0x29A115B7
|
||||||
|
+ Red 0x2B8515B7 # MyMovie
|
||||||
|
+ Green 0x299195B7 # MyMusic
|
||||||
|
+ Blue 0x2BA115B7 # MyPhoto
|
||||||
|
+ Yellow 0x28A515B7 # MyTV
|
||||||
|
+ Bookmark 0x288515B7
|
||||||
|
+ Thumbnail 0x2AB715B7
|
||||||
|
+ AspectRatio 0x29A595B7
|
||||||
|
+ FullScreen 0x2AA395B7
|
||||||
|
+ Purple 0x29A295B7 # MyDVD
|
||||||
|
+ Menu 0x2BA385B7
|
||||||
|
+ Caption 0x298595B7
|
||||||
|
+ Language 0x2B8595B7
|
||||||
|
+ MouseKeyboard 0x299115B7
|
||||||
|
+ SelectSpace 0x2A9315B7
|
||||||
|
+ MouseMenu 0x28B715B7
|
||||||
|
+ MouseRightClick 0x688481B7
|
||||||
|
+ Enter 0x28A195B7
|
||||||
|
+ MouseLeftClick 0x688301B7
|
||||||
|
+ WindowsKey 0x2B8195B7
|
||||||
|
+ Backspace 0x28A115B7
|
||||||
|
+ Mouse_N 0x690281B7
|
||||||
|
+ Mouse_S 0x688291B7
|
||||||
|
+ Mouse_W 0x6A8281B7
|
||||||
|
+ Mouse_E 0x688A81B7
|
||||||
|
+ end codes
|
||||||
|
+
|
||||||
|
+end remote
|
@ -1,30 +0,0 @@
|
|||||||
--- drivers/lirc_dev/lirc_dev.c
|
|
||||||
+++ drivers/lirc_dev/lirc_dev.c
|
|
||||||
@@ -880,8 +880,7 @@
|
|
||||||
return SUCCESS;
|
|
||||||
|
|
||||||
out_unregister:
|
|
||||||
- if(unregister_chrdev(IRCTL_DEV_MAJOR, IRCTL_DEV_NAME))
|
|
||||||
- printk(KERN_ERR "lirc_dev: unregister_chrdev failed!\n");
|
|
||||||
+ unregister_chrdev(IRCTL_DEV_MAJOR, IRCTL_DEV_NAME);
|
|
||||||
out:
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
@@ -905,15 +904,11 @@
|
|
||||||
*/
|
|
||||||
void cleanup_module(void)
|
|
||||||
{
|
|
||||||
- int ret;
|
|
||||||
|
|
||||||
- ret = unregister_chrdev(IRCTL_DEV_MAJOR, IRCTL_DEV_NAME);
|
|
||||||
+ unregister_chrdev(IRCTL_DEV_MAJOR, IRCTL_DEV_NAME);
|
|
||||||
class_destroy(lirc_class);
|
|
||||||
|
|
||||||
- if(ret)
|
|
||||||
- printk("lirc_dev: error in module_unregister_chrdev: %d\n", ret);
|
|
||||||
- else
|
|
||||||
- dprintk("lirc_dev: module successfully unloaded\n");
|
|
||||||
+ dprintk("lirc_dev: module successfully unloaded\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
MODULE_DESCRIPTION("LIRC base driver module");
|
|
@ -1,57 +0,0 @@
|
|||||||
--- drivers/lirc_dev/lirc_dev.c
|
|
||||||
+++ drivers/lirc_dev/lirc_dev.c
|
|
||||||
@@ -242,7 +242,8 @@
|
|
||||||
#ifdef LIRC_HAVE_DEVFS_24
|
|
||||||
char name[16];
|
|
||||||
#endif
|
|
||||||
- DECLARE_MUTEX_LOCKED(tn);
|
|
||||||
+ struct semaphore tn;
|
|
||||||
+ sema_init(&tn,0);
|
|
||||||
|
|
||||||
if (!p) {
|
|
||||||
printk("lirc_dev: lirc_register_plugin: "
|
|
||||||
@@ -431,8 +432,9 @@
|
|
||||||
int lirc_unregister_plugin(int minor)
|
|
||||||
{
|
|
||||||
struct irctl *ir;
|
|
||||||
- DECLARE_MUTEX_LOCKED(tn);
|
|
||||||
- DECLARE_MUTEX_LOCKED(tn2);
|
|
||||||
+ struct semaphore tn, tn2;
|
|
||||||
+ sema_init(&tn, 0);
|
|
||||||
+ sema_init(&tn2, 0);
|
|
||||||
|
|
||||||
if (minor < 0 || minor >= MAX_IRCTL_DEVICES) {
|
|
||||||
printk("lirc_dev: lirc_unregister_plugin: "
|
|
||||||
--- drivers/lirc_it87/lirc_it87.c
|
|
||||||
+++ drivers/lirc_it87/lirc_it87.c
|
|
||||||
@@ -934,7 +934,7 @@
|
|
||||||
/* Leaving MB PnP Mode */
|
|
||||||
it87_write(IT87_CFGCTRL, 0x2);
|
|
||||||
|
|
||||||
- retval = request_irq(irq, it87_interrupt, 0 /*SA_INTERRUPT*/,
|
|
||||||
+ retval = request_irq(irq, it87_interrupt, 0 /*IRQF_DISABLED*/,
|
|
||||||
LIRC_DRIVER_NAME, NULL);
|
|
||||||
if (retval < 0) {
|
|
||||||
printk(KERN_ERR LIRC_DRIVER_NAME
|
|
||||||
--- drivers/lirc_serial/lirc_serial.c
|
|
||||||
+++ drivers/lirc_serial/lirc_serial.c
|
|
||||||
@@ -998,7 +998,7 @@
|
|
||||||
do_gettimeofday(&lasttv);
|
|
||||||
|
|
||||||
result=request_irq(irq,irq_handler,
|
|
||||||
- SA_INTERRUPT | (share_irq ? SA_SHIRQ:0),
|
|
||||||
+ IRQF_DISABLED | (share_irq ? IRQF_SHARED:0),
|
|
||||||
LIRC_DRIVER_NAME,(void *)&hardware);
|
|
||||||
|
|
||||||
switch(result)
|
|
||||||
--- drivers/lirc_sir/lirc_sir.c
|
|
||||||
+++ drivers/lirc_sir/lirc_sir.c
|
|
||||||
@@ -1051,7 +1051,7 @@
|
|
||||||
return -EBUSY;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
- retval = request_irq(irq, sir_interrupt, SA_INTERRUPT,
|
|
||||||
+ retval = request_irq(irq, sir_interrupt, IRQF_DISABLED,
|
|
||||||
LIRC_DRIVER_NAME, NULL);
|
|
||||||
if (retval < 0) {
|
|
||||||
# ifndef LIRC_ON_SA1100
|
|
@ -1,3 +1,16 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 5 16:52:22 CEST 2008 - lnussel@suse.de
|
||||||
|
|
||||||
|
- new version 0.8.3
|
||||||
|
* added support for Samsung USB IR Receiver (Robert Schedel)
|
||||||
|
* added support for Soundgraph iMON IR/LCD (Dean Harding)
|
||||||
|
* added support for IRLink receiver (Maxim Muratov)
|
||||||
|
* added support for VLSystem MPlay Blast (Benoit Laurent)
|
||||||
|
* implemented SIMULATE command in irsend to simulate IR events
|
||||||
|
* added user-space I2C driver (Adam Sampson)
|
||||||
|
* added support for Hauppauge HVR-1300 (Jan Frey)
|
||||||
|
* dropped support for 2.4 kernels
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Apr 29 12:10:36 CEST 2008 - lnussel@suse.de
|
Tue Apr 29 12:10:36 CEST 2008 - lnussel@suse.de
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# spec file for package lirc-kernel (Version 0.8.2)
|
# spec file for package lirc-kernel (Version 0.8.3)
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
# This file and all modifications and additions to the pristine
|
# This file and all modifications and additions to the pristine
|
||||||
@ -17,15 +17,14 @@ BuildRequires: kernel-source kernel-syms module-init-tools
|
|||||||
License: GPL v2 or later
|
License: GPL v2 or later
|
||||||
Group: System/Kernel
|
Group: System/Kernel
|
||||||
Summary: LIRC kernel modules
|
Summary: LIRC kernel modules
|
||||||
Version: 0.8.2
|
Version: 0.8.3
|
||||||
Release: 6
|
Release: 1
|
||||||
Source0: lirc-0.8.2.tar.bz2
|
Source0: lirc-%{version}.tar.bz2
|
||||||
Source1: Makefile.module
|
Source1: Makefile.module
|
||||||
Source2: Makefile.modsub
|
Source2: Makefile.modsub
|
||||||
Patch: lirc-0.8.1-kernel_SLAB_ATOMIC.diff
|
Patch: lirc-0.8.1-kernel_SLAB_ATOMIC.diff
|
||||||
Patch1: lirc-0.8.1-imon_pad2keys.patch
|
# http://brakemeier.de/electronics/vdr/lirc-imon.html
|
||||||
Patch2: lirc-2.6.23.diff
|
Patch1: lirc-0.8.3pre1-imon-pad2keys.patch
|
||||||
Patch3: lirc-2.6.24.diff
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
%suse_kernel_module_package -n lirc kdump um debug
|
%suse_kernel_module_package -n lirc kdump um debug
|
||||||
|
|
||||||
@ -74,15 +73,13 @@ receivers for the serial port.
|
|||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n lirc-0.8.2
|
%setup -q -n lirc-%{version}
|
||||||
pushd drivers
|
pushd drivers
|
||||||
cp -av lirc_imon lirc_imon2
|
cp -av lirc_imon lirc_imon2
|
||||||
mv lirc_imon2/lirc_imon.c lirc_imon2/lirc_imon2.c
|
mv lirc_imon2/lirc_imon.c lirc_imon2/lirc_imon2.c
|
||||||
popd
|
popd
|
||||||
#%patch -p1
|
#%patch -p1
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p0
|
|
||||||
%patch3 -p0
|
|
||||||
autoreconf -f -i
|
autoreconf -f -i
|
||||||
./configure --with-driver=all
|
./configure --with-driver=all
|
||||||
cp -a drivers source
|
cp -a drivers source
|
||||||
@ -112,6 +109,16 @@ for flavor in %flavors_to_build; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon May 05 2008 lnussel@suse.de
|
||||||
|
- new version 0.8.3
|
||||||
|
* added support for Samsung USB IR Receiver (Robert Schedel)
|
||||||
|
* added support for Soundgraph iMON IR/LCD (Dean Harding)
|
||||||
|
* added support for IRLink receiver (Maxim Muratov)
|
||||||
|
* added support for VLSystem MPlay Blast (Benoit Laurent)
|
||||||
|
* implemented SIMULATE command in irsend to simulate IR events
|
||||||
|
* added user-space I2C driver (Adam Sampson)
|
||||||
|
* added support for Hauppauge HVR-1300 (Jan Frey)
|
||||||
|
* dropped support for 2.4 kernels
|
||||||
* Tue Apr 29 2008 lnussel@suse.de
|
* Tue Apr 29 2008 lnussel@suse.de
|
||||||
- add modalias supplements
|
- add modalias supplements
|
||||||
- recommend lirc
|
- recommend lirc
|
||||||
|
13
lirc.changes
13
lirc.changes
@ -1,3 +1,16 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 5 16:30:37 CEST 2008 - lnussel@suse.de
|
||||||
|
|
||||||
|
- new version 0.8.3
|
||||||
|
* added support for Samsung USB IR Receiver (Robert Schedel)
|
||||||
|
* added support for Soundgraph iMON IR/LCD (Dean Harding)
|
||||||
|
* added support for IRLink receiver (Maxim Muratov)
|
||||||
|
* added support for VLSystem MPlay Blast (Benoit Laurent)
|
||||||
|
* implemented SIMULATE command in irsend to simulate IR events
|
||||||
|
* added user-space I2C driver (Adam Sampson)
|
||||||
|
* added support for Hauppauge HVR-1300 (Jan Frey)
|
||||||
|
* dropped support for 2.4 kernels
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de
|
Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de
|
||||||
|
|
||||||
|
18
lirc.spec
18
lirc.spec
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# spec file for package lirc (Version 0.8.2)
|
# spec file for package lirc (Version 0.8.3)
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
# This file and all modifications and additions to the pristine
|
# This file and all modifications and additions to the pristine
|
||||||
@ -20,11 +20,11 @@ Url: http://www.lirc.org/
|
|||||||
License: GPL v2 or later
|
License: GPL v2 or later
|
||||||
Group: Hardware/Other
|
Group: Hardware/Other
|
||||||
AutoReqProv: on
|
AutoReqProv: on
|
||||||
Version: 0.8.2
|
Version: 0.8.3
|
||||||
Release: 70
|
Release: 1
|
||||||
PreReq: %fillup_prereq %insserv_prereq
|
PreReq: %fillup_prereq %insserv_prereq
|
||||||
Summary: Tools for Infrared Receivers
|
Summary: Tools for Infrared Receivers
|
||||||
Source0: lirc-0.8.2.tar.bz2
|
Source0: lirc-0.8.3.tar.bz2
|
||||||
Source4: rc.lirc
|
Source4: rc.lirc
|
||||||
Source5: sysconfig.lirc
|
Source5: sysconfig.lirc
|
||||||
Source6: fix-remote-keys.pl
|
Source6: fix-remote-keys.pl
|
||||||
@ -158,6 +158,16 @@ install -D -m 644 /dev/null %{buildroot}/etc/lircd.conf
|
|||||||
rm -rf %{buildroot}
|
rm -rf %{buildroot}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon May 05 2008 lnussel@suse.de
|
||||||
|
- new version 0.8.3
|
||||||
|
* added support for Samsung USB IR Receiver (Robert Schedel)
|
||||||
|
* added support for Soundgraph iMON IR/LCD (Dean Harding)
|
||||||
|
* added support for IRLink receiver (Maxim Muratov)
|
||||||
|
* added support for VLSystem MPlay Blast (Benoit Laurent)
|
||||||
|
* implemented SIMULATE command in irsend to simulate IR events
|
||||||
|
* added user-space I2C driver (Adam Sampson)
|
||||||
|
* added support for Hauppauge HVR-1300 (Jan Frey)
|
||||||
|
* dropped support for 2.4 kernels
|
||||||
* Thu Apr 10 2008 ro@suse.de
|
* Thu Apr 10 2008 ro@suse.de
|
||||||
- added baselibs.conf file to build xxbit packages
|
- added baselibs.conf file to build xxbit packages
|
||||||
for multilib support
|
for multilib support
|
||||||
|
Loading…
x
Reference in New Issue
Block a user