parent
716f0e5218
commit
1c610f9721
@ -1,25 +0,0 @@
|
||||
From bd400dc047567d230d194c2be8c911a300c0f723 Mon Sep 17 00:00:00 2001
|
||||
From: Alec Leamas <leamas.alec@gmail.com>
|
||||
Date: Mon, 9 Feb 2015 12:46:17 +0100
|
||||
Subject: [PATCH] lirc_options: Set effective user to lirc.
|
||||
|
||||
---
|
||||
lirc_options.conf | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lirc_options.conf b/lirc_options.conf
|
||||
index 9346de8..bf342c1 100644
|
||||
--- a/lirc_options.conf
|
||||
+++ b/lirc_options.conf
|
||||
@@ -12,7 +12,7 @@ plugindir = /usr/lib/lirc/plugins
|
||||
permission = 666
|
||||
allow-simulate = No
|
||||
repeat-max = 600
|
||||
-#effective-user =
|
||||
+effective-user = lirc
|
||||
#listen = [address:]port
|
||||
#connect = host[:port]
|
||||
#debug = 6
|
||||
--
|
||||
2.1.0
|
||||
|
@ -0,0 +1,25 @@
|
||||
From 94a67d9d3debf63affaa679971fafa304a6929d1 Mon Sep 17 00:00:00 2001
|
||||
From: Alec Leamas <leamas.alec@gmail.com>
|
||||
Date: Sat, 22 Oct 2016 16:53:48 +0200
|
||||
Subject: [PATCH 01/10] plugins: girs.c: Default device typo fix.
|
||||
|
||||
---
|
||||
plugins/girs.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/plugins/girs.c b/plugins/girs.c
|
||||
index 4bc1461..f722348 100644
|
||||
--- a/plugins/girs.c
|
||||
+++ b/plugins/girs.c
|
||||
@@ -55,7 +55,7 @@
|
||||
"/bin/sh ls /dev/ttyACM* /dev/ttyUSB* /dev/arduino* 2>/dev/null"
|
||||
|
||||
#define DRIVER_NAME "girs"
|
||||
-#define DEFAULT_DEVICE "/dev/ttyAMC0"
|
||||
+#define DEFAULT_DEVICE "/dev/ttyACM0"
|
||||
#define DRIVER_RESOLUTION 50
|
||||
#define DRIVER_VERSION "2016-08-19"
|
||||
|
||||
--
|
||||
2.5.5
|
||||
|
@ -1,49 +0,0 @@
|
||||
From 53cea64c606e3bb4622c74855d35fc57eeb2123e Mon Sep 17 00:00:00 2001
|
||||
From: Alec Leamas <leamas.alec@gmail.com>
|
||||
Date: Tue, 9 Aug 2016 16:29:17 +0200
|
||||
Subject: [PATCH 02/10] NEWS, lirc.org/index.html: Fixes.
|
||||
|
||||
---
|
||||
NEWS | 4 +++-
|
||||
doc/lirc.org/index.html | 6 ++++++
|
||||
2 files changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/NEWS b/NEWS
|
||||
index a379785..0261bd2 100644
|
||||
--- a/NEWS
|
||||
+++ b/NEWS
|
||||
@@ -1,4 +1,4 @@
|
||||
-0.9.4b 15/8/16
|
||||
+0.9.4b 9/8/16
|
||||
* lircd-uinput: A multitude of fixes (#213, #211, #177). Adds new options.
|
||||
* lirc_client: Fix "Can't redirect irsend output" (#207).
|
||||
* lirc_client: read_string() not terminating buffer contents (#216)
|
||||
@@ -8,6 +8,8 @@
|
||||
* lircmd: Options, udev examples and manpage update.A
|
||||
* lib: Add missing Makefile.am dep (#210).
|
||||
* doc: Manpages and configuration guide fixes.
|
||||
+ * build: Don't define docdir - autoconf defines docdir (#215).
|
||||
+ * build: support runstatedir configure option (#212).
|
||||
|
||||
0.9.4a 22/6/16
|
||||
* Fix syntax errors in systemd unit files (rhbz: 1350750).
|
||||
diff --git a/doc/lirc.org/index.html b/doc/lirc.org/index.html
|
||||
index 204d457..b0a1efa 100644
|
||||
--- a/doc/lirc.org/index.html
|
||||
+++ b/doc/lirc.org/index.html
|
||||
@@ -432,6 +432,12 @@
|
||||
<HR WIDTH="50%"><BR>
|
||||
<UL TYPE="SQUARE">
|
||||
<LI>
|
||||
+ [9-Aug2016]
|
||||
+ <P>
|
||||
+ lirc-0.9.4b released.
|
||||
+ </P>
|
||||
+ </LI>
|
||||
+ <LI>
|
||||
[29-June2016]
|
||||
<P>
|
||||
lirc-0.9.4a released.
|
||||
--
|
||||
2.5.5
|
||||
|
@ -0,0 +1,46 @@
|
||||
From ff0d431cbed74a2495b78dedce8f74f2b5a436ea Mon Sep 17 00:00:00 2001
|
||||
From: Alec Leamas <leamas.alec@gmail.com>
|
||||
Date: Sun, 23 Oct 2016 15:07:21 +0200
|
||||
Subject: [PATCH 02/10] configure: Fix cross-compilation error (#233).
|
||||
|
||||
---
|
||||
configure.ac | 16 ++++++++++++++++
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index a041571..20933a8 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -305,6 +305,19 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM([[
|
||||
AC_MSG_RESULT(yes)
|
||||
],[
|
||||
AC_MSG_RESULT(no)
|
||||
+],[
|
||||
+ case x$HAVE_WORKING_POLL in
|
||||
+ xyes)
|
||||
+ AC_MSG_RESULT(yes)
|
||||
+ AC_DEFINE(HAVE_POLL_FINE)
|
||||
+ ;;
|
||||
+ xno)
|
||||
+ AC_MSG_RESULT(no)
|
||||
+ ;;
|
||||
+ *) AC_MSG_ERROR([
|
||||
+ Define HAVE_WORKING_POLL to "yes" or "no" when cross-compiling])
|
||||
+ ;;
|
||||
+ esac
|
||||
])
|
||||
|
||||
|
||||
@@ -429,6 +442,9 @@ AC_ARG_ENABLE([python3_fix],
|
||||
[enable_python3_fix="no"])
|
||||
AM_CONDITIONAL(NEED_PYTHON3, [test "x$enable_python3_fix" = "xyes"])
|
||||
|
||||
+AC_ARG_VAR(HAVE_WORKING_POLL,[
|
||||
+ On cross-compile: Target has a working poll(2) implementation])
|
||||
+
|
||||
suffix=$(echo "$VERSION" | sed 's/.*-//')
|
||||
AM_CONDITIONAL(DEVEL, [test x$suffix = xdevel])
|
||||
|
||||
--
|
||||
2.5.5
|
||||
|
@ -0,0 +1,55 @@
|
||||
From f86da92490ff32465a1aba8754c0c856191e6907 Mon Sep 17 00:00:00 2001
|
||||
From: Alec Leamas <leamas.alec@gmail.com>
|
||||
Date: Sun, 23 Oct 2016 15:45:52 +0200
|
||||
Subject: [PATCH 03/10] build: lirc.h: Configure includes in lirc.h (#234).
|
||||
|
||||
Fall back to sys/ioctl.h instead of linux/ioctl.h etc. on
|
||||
non-linux platform i. e., MacOS.
|
||||
---
|
||||
configure.ac | 5 +++--
|
||||
include/media/lirc.h | 11 +++++++++++
|
||||
2 files changed, 14 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 20933a8..cde9813 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -48,8 +48,9 @@ LIBUSB_CONFIG="pkg-config libusb"
|
||||
dnl Checks for header files.
|
||||
AC_HEADER_STDC
|
||||
AC_HEADER_TIME
|
||||
-AC_CHECK_HEADERS([fcntl.h limits.h poll.h sys/ioctl.h sys/poll.h sys/time.h ])
|
||||
-AC_CHECK_HEADERS([syslog.h unistd.h util.h libutil.h pty.h])
|
||||
+AC_CHECK_HEADERS([fcntl.h limits.h linux/ioctl.h poll.h sys/ioctl.h \
|
||||
+ sys/poll.h sys/time.h syslog.h unistd.h util.h \
|
||||
+ libutil.h pty.h])
|
||||
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
diff --git a/include/media/lirc.h b/include/media/lirc.h
|
||||
index 991ab45..84af7ed 100644
|
||||
--- a/include/media/lirc.h
|
||||
+++ b/include/media/lirc.h
|
||||
@@ -6,8 +6,19 @@
|
||||
#ifndef _LINUX_LIRC_H
|
||||
#define _LINUX_LIRC_H
|
||||
|
||||
+#include <config.h>
|
||||
+
|
||||
+#ifdef HAVE_LINUX_TYPES_H
|
||||
#include <linux/types.h>
|
||||
+#else
|
||||
+#include <sys/types.h>
|
||||
+#endif
|
||||
+
|
||||
+#ifdef HAVE_LINUX_IOCTL_H
|
||||
#include <linux/ioctl.h>
|
||||
+#else
|
||||
+#include <sys/ioctl.h>
|
||||
+#endif
|
||||
|
||||
#define PULSE_BIT 0x01000000
|
||||
#define PULSE_MASK 0x00FFFFFF
|
||||
--
|
||||
2.5.5
|
||||
|
@ -1,96 +0,0 @@
|
||||
From 62b9172bf52584e0c621d0163052ccca9a240846 Mon Sep 17 00:00:00 2001
|
||||
From: Helen Foster <helen-foster@users.sourceforge.net>
|
||||
Date: Sun, 14 Aug 2016 14:00:30 +0100
|
||||
Subject: [PATCH 03/10] irtoy: improve error handling (#220).
|
||||
|
||||
Avoid double init. Avoid calling setPin or trying to send if irtoy
|
||||
is not initialized (segfault).
|
||||
---
|
||||
plugins/irtoy.c | 28 ++++++++++++++++++++--------
|
||||
1 file changed, 20 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/plugins/irtoy.c b/plugins/irtoy.c
|
||||
index f6e81d7..f7a6feb 100644
|
||||
--- a/plugins/irtoy.c
|
||||
+++ b/plugins/irtoy.c
|
||||
@@ -467,6 +467,9 @@ static int init_device(void)
|
||||
IRTOY_MINFWVERSION,
|
||||
dev->swVersion);
|
||||
free(dev);
|
||||
+ dev = NULL;
|
||||
+ close(drv.fd);
|
||||
+ tty_delete_lock();
|
||||
return 0;
|
||||
}
|
||||
rec_buffer_init();
|
||||
@@ -490,10 +493,15 @@ static int init(void)
|
||||
"Additional irtoy device found: %s (ignored)";
|
||||
const char* const MSG_FOUND = "irtoy device found on %s";
|
||||
|
||||
+ log_trace("irtoy: init");
|
||||
if (drv.device == NULL) {
|
||||
log_error("irtoy: NULL device.");
|
||||
return 0;
|
||||
}
|
||||
+ if (dev != NULL) {
|
||||
+ log_debug("irtoy: init: irtoy already initialized");
|
||||
+ return 1;
|
||||
+ }
|
||||
if (strcmp(drv.device, "auto") != 0)
|
||||
return init_device();
|
||||
for (found = 0, i = 0; i <= 9; i++) {
|
||||
@@ -516,6 +524,8 @@ static int init(void)
|
||||
|
||||
static int deinit(void)
|
||||
{
|
||||
+ log_trace("irtoy: deinit");
|
||||
+
|
||||
// IMPORTANT do not remove this reset. it is vital to return the
|
||||
// irtoy to IRMAN mode.
|
||||
// If we leave the irtoy in sample mode while no-one has the
|
||||
@@ -527,14 +537,14 @@ static int deinit(void)
|
||||
// sending the next one, while sample mode will keep streaming
|
||||
// (and under fluorescent light it WILL stream..)
|
||||
// triggering the problem
|
||||
- setPin(openPin, 0);
|
||||
- setPin(sendingPin, 0);
|
||||
- setPin(receivePin, 0);
|
||||
if (dev != NULL) {
|
||||
+ setPin(openPin, 0);
|
||||
+ setPin(sendingPin, 0);
|
||||
+ setPin(receivePin, 0);
|
||||
irtoy_reset(dev);
|
||||
free(dev);
|
||||
+ dev = NULL;
|
||||
}
|
||||
- dev = NULL;
|
||||
|
||||
close(drv.fd);
|
||||
drv.fd = -1;
|
||||
@@ -562,10 +572,6 @@ static int irtoy_send_double_buffered(unsigned char* signals, int length)
|
||||
unsigned char reply[16];
|
||||
int irtoyXmit;
|
||||
|
||||
- if (dev == NULL) {
|
||||
- log_error("irtoy_send: irtoy not initialized");
|
||||
- return 0;
|
||||
- }
|
||||
res = write(dev->fd, IRTOY_COMMAND_TXSTART, sizeof(IRTOY_COMMAND_TXSTART));
|
||||
|
||||
if (res != sizeof(IRTOY_COMMAND_TXSTART)) {
|
||||
@@ -647,6 +653,12 @@ static int send(struct ir_remote* remote, struct ir_ncode* code)
|
||||
lirc_t val;
|
||||
int res;
|
||||
|
||||
+ log_trace("irtoy: send");
|
||||
+
|
||||
+ if (dev == NULL) {
|
||||
+ log_error("irtoy: send: irtoy not initialized");
|
||||
+ return 0;
|
||||
+ }
|
||||
|
||||
if (!send_buffer_put(remote, code))
|
||||
return 0;
|
||||
--
|
||||
2.5.5
|
||||
|
@ -0,0 +1,104 @@
|
||||
From c3e65dd45ece8ac328332c63b8009cd1f77a2ca4 Mon Sep 17 00:00:00 2001
|
||||
From: Alec Leamas <leamas.alec@gmail.com>
|
||||
Date: Sun, 23 Oct 2016 17:10:26 +0200
|
||||
Subject: [PATCH 04/10] lirc.org: Clean up distribution links, bugfixes.
|
||||
|
||||
---
|
||||
doc/html-source/configure.html | 1 +
|
||||
doc/lirc.org/index.html | 54 +++++++++++++++++++++++++++---------------
|
||||
2 files changed, 36 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/doc/html-source/configure.html b/doc/html-source/configure.html
|
||||
index 7c01b3d..feb7d41 100644
|
||||
--- a/doc/html-source/configure.html
|
||||
+++ b/doc/html-source/configure.html
|
||||
@@ -60,6 +60,7 @@
|
||||
<p>
|
||||
|
||||
<H3> uinput and effective user </h3>
|
||||
+ <p>
|
||||
If your distribution does not have uinput enabled by default
|
||||
(i. e., there is a /dev/uinput device) add to the file /etc/modules
|
||||
the entry: </p>
|
||||
diff --git a/doc/lirc.org/index.html b/doc/lirc.org/index.html
|
||||
index 93cecf7..7b4ab21 100644
|
||||
--- a/doc/lirc.org/index.html
|
||||
+++ b/doc/lirc.org/index.html
|
||||
@@ -96,7 +96,7 @@
|
||||
</P>
|
||||
<UL CLASS="menu">
|
||||
<li>The latest version of LIRC can be downloaded from
|
||||
- <A HREF="http://sourceforge.net/projects/lirc/files/LIRC/0.9.4b">
|
||||
+ <A HREF="http://sourceforge.net/projects/lirc/files/LIRC/0.9.4c">
|
||||
SourceForge</a></li>
|
||||
<li>Other, unmaintained programs such as xrc and xirw
|
||||
as well as older LIRC version can also be found on
|
||||
@@ -104,6 +104,39 @@
|
||||
SourceForge</A></li>
|
||||
</UL>
|
||||
<BR>
|
||||
+ <!-- Linux distributions w LIRC -->
|
||||
+ <TABLE WIDTH="100%" BORDER="0" CELLSPACING="0"
|
||||
+ CELLPADDING="0" SUMMARY="">
|
||||
+ <TR>
|
||||
+ <TD CLASS="menuhead">
|
||||
+ Linux distributions packaging LIRC
|
||||
+ </TD>
|
||||
+ </TR>
|
||||
+ </TABLE>
|
||||
+ <UL TYPE="SQUARE">
|
||||
+ <LI><A HREF="https://www.archlinux.org/">Arch Linux</A></LI>
|
||||
+ <LI><A HREF="http://www.debian.org/">Debian</A></LI>
|
||||
+ <LI><A HREF="http://www.fedoraproject.org/">Fedora</A></LI>
|
||||
+ <LI><A HREF="http://www.gentoo.org/">Gentoo</A></LI>
|
||||
+ <LI><A HREF="http://www.mandrivalinux.com">Mandriva(Previously Mandrake)</A></LI>
|
||||
+ <LI><A HREF="http://www.redhat.com/">RedHat</A></LI>
|
||||
+ <LI><A HREF="http://www.slackware.com/">Slackware</A>
|
||||
+ - the mother of all Distributions
|
||||
+ </LI>
|
||||
+ <LI><A HREF="http://www.suse.de/">SUSE.</A></LI>
|
||||
+ <LI><A HREF="http://www.ubuntu.com/">Ubuntu</A></LI>
|
||||
+ </UL>
|
||||
+ <TABLE WIDTH="100%" BORDER="0" CELLSPACING="0"
|
||||
+ CELLPADDING="0" SUMMARY="">
|
||||
+ <TR>
|
||||
+ <TD CLASS="menuhead"> MacOS builds </TD>
|
||||
+ </TR>
|
||||
+ </TABLE>
|
||||
+ <UL TYPE="SQUARE">
|
||||
+ <LI><A HREF="https://www.macports.org/ports.php?by=name&substr=lirc">
|
||||
+ MacPorts
|
||||
+ </A></LI>
|
||||
+ </UL>
|
||||
|
||||
<!-- Hardware -->
|
||||
<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0"
|
||||
@@ -286,24 +319,7 @@
|
||||
<LI><A HREF="http://www.kernel.org/">www.kernel.org</A> - Linux Kernel Website</LI>
|
||||
<LI><A HREF="http://www.freshmeat.net/">www.freshmeat.net</A> - A great place for searching for Linux Applications</LI>
|
||||
</UL>
|
||||
- <FONT SIZE="+1" COLOR="#FFFFFF">
|
||||
- Linux Distributions Packaging LIRC
|
||||
- </FONT>
|
||||
- <UL TYPE="SQUARE">
|
||||
- <LI><A HREF="http://www.slackware.com/">Slackware</A> - the mother of all Distributions</LI>
|
||||
- <LI><A HREF="http://www.redhat.com/">RedHat</A></LI>
|
||||
- <LI><A HREF="http://www.debian.org/">Debian</A></LI>
|
||||
- <LI><A HREF="http://www.ubuntu.com/">Ubuntu</A></LI>
|
||||
- <LI><A HREF="http://www.fedoraproject.org/">Fedora</A></LI>
|
||||
- <LI><A HREF="http://www.gentoo.org/">Gentoo</A></LI>
|
||||
- <LI><A HREF="http://www.suse.de/">SUSE.</A></LI>
|
||||
- <LI><A HREF="http://www.mandrivalinux.com">Mandriva(Previously Mandrake)</A></LI>
|
||||
- <LI><A HREF="https://www.archlinux.org/">Arch Linux</A></LI>
|
||||
- <LI><A HREF="https://www.macports.org/ports.php?by=name&substr=lirc">
|
||||
- MacOS - MacPorts
|
||||
- </A></LI>
|
||||
- </UL>
|
||||
- </DIV>
|
||||
+ </DIV>
|
||||
|
||||
<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0"
|
||||
CELLPADDING="0" SUMMARY="">
|
||||
--
|
||||
2.5.5
|
||||
|
@ -1,36 +0,0 @@
|
||||
From 4e931d11585e1baeddeea9a753007d835f8a3334 Mon Sep 17 00:00:00 2001
|
||||
From: Alec Leamas <leamas.alec@gmail.com>
|
||||
Date: Wed, 17 Aug 2016 21:28:00 +0200
|
||||
Subject: [PATCH 04/10] plugins: audio_alsa: Fix byte truncating in 16-bit data
|
||||
(#218):
|
||||
|
||||
This fixes a bug introduced in 82305c72 which basically was
|
||||
about muting a "dereferencing type-punned pointer will break
|
||||
strict-aliasing rules" compiler warning.
|
||||
---
|
||||
plugins/audio_alsa.c | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/plugins/audio_alsa.c b/plugins/audio_alsa.c
|
||||
index 20022f3..ff0d8a9 100644
|
||||
--- a/plugins/audio_alsa.c
|
||||
+++ b/plugins/audio_alsa.c
|
||||
@@ -436,11 +436,12 @@ var_reset: /* Reset variables */
|
||||
for (i = 0; i < count; i++) {
|
||||
/* cs == current sample */
|
||||
unsigned char cs, as, sl, sz, xz;
|
||||
- short stmp;
|
||||
+ unsigned short stmp;
|
||||
|
||||
if (bytes_per_sample == 2) {
|
||||
- stmp = buff[i * bytes_per_sample * alsa_hw.num_channels +
|
||||
- bytes_per_sample * alsa_hw.channel];
|
||||
+ int ix = i * bytes_per_sample * alsa_hw.num_channels +
|
||||
+ bytes_per_sample * alsa_hw.channel;
|
||||
+ memcpy(&stmp, &buff[ix], sizeof(stmp));
|
||||
cs = stmp >> 8;
|
||||
cs ^= 0x80;
|
||||
} else {
|
||||
--
|
||||
2.5.5
|
||||
|
@ -1,22 +0,0 @@
|
||||
From 8cb5fd91935603536dcb0377ff91eb0ae477d19a Mon Sep 17 00:00:00 2001
|
||||
From: Alec Leamas <leamas.alec@gmail.com>
|
||||
Date: Thu, 18 Aug 2016 16:19:17 +0200
|
||||
Subject: [PATCH 05/10] contrib: disable udev /dev/uinput rule.
|
||||
|
||||
---
|
||||
contrib/97-lircd-uinput.rules | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/contrib/97-lircd-uinput.rules b/contrib/97-lircd-uinput.rules
|
||||
index 12228a7..a554299 100644
|
||||
--- a/contrib/97-lircd-uinput.rules
|
||||
+++ b/contrib/97-lircd-uinput.rules
|
||||
@@ -7,4 +7,4 @@ SUBSYSTEMS=="input",ATTRS{name}=="lircmd",SYMLINK+="lircmd"
|
||||
# Make /dev/uinput accessible for the lirc group. A setfacl RUN would be
|
||||
# better here, but seemingly does not work (?)
|
||||
# An alternative is to use lircd-setup(8) to sun setfacl(1).
|
||||
-KERNEL=="uinput",GROUP:="lirc",MODE:="0660"
|
||||
+## KERNEL=="uinput",GROUP:="lirc",MODE:="0660"
|
||||
--
|
||||
2.5.5
|
||||
|
@ -0,0 +1,35 @@
|
||||
From 33c40d127877179e0cba2f6595816377bb6bcda1 Mon Sep 17 00:00:00 2001
|
||||
From: Alec Leamas <leamas.alec@gmail.com>
|
||||
Date: Tue, 25 Oct 2016 10:28:14 +0200
|
||||
Subject: [PATCH 05/10] lib: curl_poll.h: Ensure build on unconfiguredclients.
|
||||
|
||||
---
|
||||
lib/curl_poll.h | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/curl_poll.h b/lib/curl_poll.h
|
||||
index 6144c42..af25381 100644
|
||||
--- a/lib/curl_poll.h
|
||||
+++ b/lib/curl_poll.h
|
||||
@@ -21,7 +21,9 @@
|
||||
* KIND, either express or implied.
|
||||
*
|
||||
***************************************************************************/
|
||||
+#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
+#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -29,7 +31,7 @@ extern "C" {
|
||||
|
||||
#ifdef HAVE_SYS_POLL_H
|
||||
#include <sys/poll.h>
|
||||
-#elif defined(HAVE_POLL_H)
|
||||
+#else
|
||||
#include <poll.h>
|
||||
#endif
|
||||
|
||||
--
|
||||
2.5.5
|
||||
|
@ -1,30 +0,0 @@
|
||||
From 33c188c38f5f89e704e4c775205e1d90ca55bc0d Mon Sep 17 00:00:00 2001
|
||||
From: Alec Leamas <leamas.alec@gmail.com>
|
||||
Date: Sun, 21 Aug 2016 17:33:19 +0200
|
||||
Subject: [PATCH 06/10] lirc-setup: Fix crasher bugfix.
|
||||
|
||||
Fixes https://retrace.fedoraproject.org/faf/reports/1166394/
|
||||
---
|
||||
tools/lirc-setup/mvc_model.py | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/tools/lirc-setup/mvc_model.py b/tools/lirc-setup/mvc_model.py
|
||||
index 02d1413..48864d8 100644
|
||||
--- a/tools/lirc-setup/mvc_model.py
|
||||
+++ b/tools/lirc-setup/mvc_model.py
|
||||
@@ -362,10 +362,10 @@ class DrvctlDeviceListModel(DeviceListModel):
|
||||
self.label_by_device = {}
|
||||
trypath = os.path.abspath(_here("../mode2"))
|
||||
if not os.path.exists(trypath):
|
||||
- trypath = os.path.join(BINDIR, "mode2")
|
||||
+ trypath = os.path.join(config.BINDIR, "mode2")
|
||||
if not os.path.exists(trypath):
|
||||
raise FileNotFoundError("trypath")
|
||||
- cmd = [trypath, "--driver" , self.driver_id, "--list-devices"]
|
||||
+ cmd = [trypath, "--driver", self.driver_id, "--list-devices"]
|
||||
try:
|
||||
result = subprocess.check_output(cmd, universal_newlines=True)
|
||||
except (OSError, subprocess.CalledProcessError):
|
||||
--
|
||||
2.5.5
|
||||
|
@ -0,0 +1,23 @@
|
||||
From 916a48ffcb9f1c259a0fc778a2de1be729423092 Mon Sep 17 00:00:00 2001
|
||||
From: Alec Leamas <leamas.alec@gmail.com>
|
||||
Date: Tue, 25 Oct 2016 21:29:27 +0200
|
||||
Subject: [PATCH 06/10] lirc.pc: Fix bad library specification (#236).
|
||||
|
||||
---
|
||||
lirc.pc.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lirc.pc.in b/lirc.pc.in
|
||||
index 802f00e..5ed7c1c 100644
|
||||
--- a/lirc.pc.in
|
||||
+++ b/lirc.pc.in
|
||||
@@ -10,5 +10,5 @@ includedir=@includedir@
|
||||
pkgdatadir=@datadir@/lirc
|
||||
plugindir=${libdir}/lirc/plugins
|
||||
|
||||
-Libs: -L${libdir} -llirc
|
||||
+Libs: -L${libdir} -llirc_client
|
||||
Cflags: -I${includedir}
|
||||
--
|
||||
2.5.5
|
||||
|
@ -0,0 +1,38 @@
|
||||
From 0463f56357d1dd223a4d2882dbc460a0a7a7e9ad Mon Sep 17 00:00:00 2001
|
||||
From: Alec Leamas <leamas.alec@gmail.com>
|
||||
Date: Sat, 29 Oct 2016 11:06:50 +0200
|
||||
Subject: [PATCH 07/10] Build: Use HAVE_UINPUT=1 to force building uinput code
|
||||
(#238).
|
||||
|
||||
---
|
||||
configure.ac | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index cde9813..08e2c8e 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -33,7 +33,7 @@ if test x$XSLTPROC != "xyes"; then
|
||||
AC_MSG_ERROR([
|
||||
xsltproc is required to build. It usually comes with libxml])
|
||||
fi
|
||||
-AM_CONDITIONAL(HAVE_UINPUT, test -e /dev/uinput)
|
||||
+AM_CONDITIONAL(HAVE_UINPUT, test -n "$HAVE_UINPUT" -o -e /dev/uinput)
|
||||
AC_CHECK_PROG([MAN2HTML],[man2html],[yes],[no])
|
||||
AM_CONDITIONAL(HAVE_MAN2HTML, test x$MAN2HTML = xyes)
|
||||
AC_CHECK_PROG([DOXYGEN],[doxygen],[yes],[no])
|
||||
@@ -446,6 +446,11 @@ AM_CONDITIONAL(NEED_PYTHON3, [test "x$enable_python3_fix" = "xyes"])
|
||||
AC_ARG_VAR(HAVE_WORKING_POLL,[
|
||||
On cross-compile: Target has a working poll(2) implementation])
|
||||
|
||||
+AC_ARG_VAR(HAVE_UINPUT,[
|
||||
+ If not-empty, assume uinput is available despite missing /dev/uinput
|
||||
+])
|
||||
+
|
||||
+
|
||||
suffix=$(echo "$VERSION" | sed 's/.*-//')
|
||||
AM_CONDITIONAL(DEVEL, [test x$suffix = xdevel])
|
||||
|
||||
--
|
||||
2.5.5
|
||||
|
@ -1,33 +0,0 @@
|
||||
From aa087cb999b7303d6f14d0928a84909d5bf29529 Mon Sep 17 00:00:00 2001
|
||||
From: Alec Leamas <leamas.alec@gmail.com>
|
||||
Date: Thu, 18 Aug 2016 21:04:07 +0200
|
||||
Subject: [PATCH 07/10] contrib: Fix usb devices' acl permissions (rhbz
|
||||
#1364744).
|
||||
|
||||
---
|
||||
contrib/60-lirc.rules | 13 +++++++------
|
||||
1 file changed, 7 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/contrib/60-lirc.rules b/contrib/60-lirc.rules
|
||||
index 8147546..492aae9 100644
|
||||
--- a/contrib/60-lirc.rules
|
||||
+++ b/contrib/60-lirc.rules
|
||||
@@ -1,8 +1,9 @@
|
||||
-# Installing this udev rule will make the /dev/lirc* devices accessible
|
||||
-# for users in the group "lirc" using regular group permissions. USB
|
||||
-# devices grants rw permission to the lirc group using ACL.
|
||||
-# To enable, copy to /etc/udev/rules.d.
|
||||
+# Make the /dev/lirc* devices accessible for users in the group "lirc"
|
||||
+# using regular group permissions.
|
||||
|
||||
KERNEL=="lirc[0-9]*", SUBSYSTEM=="lirc", GROUP="lirc", MODE="0660"
|
||||
-ACTION=="add", SUBSYSTEM=="usb", \
|
||||
- RUN+="/usr/bin/setfacl -m g:lirc:rw $env{DEVNAME}"
|
||||
+
|
||||
+# Grant rw permission to the lirc group for USB devices using acl(5).
|
||||
+
|
||||
+ACTION=="add", SUBSYSTEM=="usb", ENV{DEVNAME}=="?*", \
|
||||
+ RUN+="/usr/bin/sh -c '/usr/bin/setfacl -m g:lirc:rw %E{DEVNAME} 2>/dev/null || :'"
|
||||
--
|
||||
2.5.5
|
||||
|
@ -1,55 +0,0 @@
|
||||
From f561c4b9e1ea8a225ae4431348529cd5b6b477d9 Mon Sep 17 00:00:00 2001
|
||||
From: Alec Leamas <leamas.alec@gmail.com>
|
||||
Date: Tue, 23 Aug 2016 13:16:56 +0200
|
||||
Subject: [PATCH 08/10] lircd: Retry temporary unavailable write sockets
|
||||
(#221).
|
||||
|
||||
---
|
||||
daemons/lircd.cpp | 21 +++++++++++++++++++--
|
||||
1 file changed, 19 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/daemons/lircd.cpp b/daemons/lircd.cpp
|
||||
index de2c341..2dc9029 100644
|
||||
--- a/daemons/lircd.cpp
|
||||
+++ b/daemons/lircd.cpp
|
||||
@@ -115,6 +115,12 @@ int clock_gettime(int clk_id, struct timespec *t){
|
||||
|
||||
static const logchannel_t logchannel = LOG_APP;
|
||||
|
||||
+/** How long we sleep while waiting for busy write sockets. */
|
||||
+static const int WRITE_SLEEP_US = 20000;
|
||||
+
|
||||
+/** How many times we retry busy write sockets. */
|
||||
+static const int WRITE_RETRIES = 50;
|
||||
+
|
||||
struct peer_connection {
|
||||
char* host;
|
||||
unsigned short port;
|
||||
@@ -338,11 +344,22 @@ static int oatoi(const char* s)
|
||||
int write_socket(int fd, const char* buf, int len)
|
||||
{
|
||||
int done, todo = len;
|
||||
+ int retries = WRITE_RETRIES;
|
||||
|
||||
while (todo) {
|
||||
done = write(fd, buf, todo);
|
||||
- if (done <= 0)
|
||||
- return done;
|
||||
+ if (done <= 0) {
|
||||
+ log_perror_debug("Error in write_socket");
|
||||
+ if (errno == EAGAIN || errno == EWOULDBLOCK) {
|
||||
+ retries -= 1;
|
||||
+ if (retries <= 0)
|
||||
+ return done;
|
||||
+ usleep(WRITE_SLEEP_US);
|
||||
+ continue;
|
||||
+ } else {
|
||||
+ return done;
|
||||
+ }
|
||||
+ }
|
||||
buf += done;
|
||||
todo -= done;
|
||||
}
|
||||
--
|
||||
2.5.5
|
||||
|
@ -0,0 +1,25 @@
|
||||
From eb06327fc1b4e8e9682cf471643ccbab35fed241 Mon Sep 17 00:00:00 2001
|
||||
From: Alec Leamas <leamas.alec@gmail.com>
|
||||
Date: Sat, 29 Oct 2016 11:50:23 +0200
|
||||
Subject: [PATCH 08/10] systemd: Fix wrong path to irexec (#239).
|
||||
|
||||
---
|
||||
systemd/irexec.service | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/systemd/irexec.service b/systemd/irexec.service
|
||||
index 6eb8e6f..25ac6fc 100644
|
||||
--- a/systemd/irexec.service
|
||||
+++ b/systemd/irexec.service
|
||||
@@ -20,7 +20,7 @@ Description=Handle events from IR remotes decoded by lircd(8)
|
||||
|
||||
|
||||
Type=simple
|
||||
-ExecStart=/usr/sbin/irexec /etc/lirc/irexec.lircrc
|
||||
+ExecStart=/usr/bin/irexec /etc/lirc/irexec.lircrc
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
--
|
||||
2.5.5
|
||||
|
@ -0,0 +1,32 @@
|
||||
From eb21328b2ecb59cb3215ef349e7de73d328eac2c Mon Sep 17 00:00:00 2001
|
||||
From: Alec Leamas <leamas.alec@gmail.com>
|
||||
Date: Sun, 30 Oct 2016 03:53:22 +0100
|
||||
Subject: [PATCH 09/10] .gitignore: doc/ fixes
|
||||
|
||||
---
|
||||
.gitignore | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/.gitignore b/.gitignore
|
||||
index 16bc688..40bed98 100644
|
||||
--- a/.gitignore
|
||||
+++ b/.gitignore
|
||||
@@ -37,6 +37,7 @@ kernel-drivers.yaml
|
||||
doc/api-docs
|
||||
doc/man-html
|
||||
doc/man/*.[1-9]
|
||||
+doc/man
|
||||
doc/html
|
||||
doc/NEWS*
|
||||
doc/lirc.hwdb
|
||||
@@ -44,6 +45,7 @@ doc/table.html
|
||||
doc/driver-toc.xsl
|
||||
doc/docpage.xsl
|
||||
doc/lirc.org/html
|
||||
+doc/lirc.org/api-docs/
|
||||
doc/ext-driver-toc.xsl
|
||||
|
||||
doxygen-warnings.txt
|
||||
--
|
||||
2.5.5
|
||||
|
@ -1,57 +0,0 @@
|
||||
From 9ad5f93a07be0bf4f645f16dbbf29e2e8cd3b871 Mon Sep 17 00:00:00 2001
|
||||
From: Alec Leamas <leamas.alec@gmail.com>
|
||||
Date: Tue, 23 Aug 2016 13:50:48 +0200
|
||||
Subject: [PATCH 09/10] lircd: Warn for duplicate remote definitions (#222).
|
||||
|
||||
---
|
||||
daemons/lircd.cpp | 20 ++++++++++++++++++++
|
||||
1 file changed, 20 insertions(+)
|
||||
|
||||
diff --git a/daemons/lircd.cpp b/daemons/lircd.cpp
|
||||
index 2dc9029..8fd8336 100644
|
||||
--- a/daemons/lircd.cpp
|
||||
+++ b/daemons/lircd.cpp
|
||||
@@ -70,6 +70,9 @@
|
||||
#include <sys/ioctl.h>
|
||||
#endif
|
||||
|
||||
+#include <string>
|
||||
+#include <set>
|
||||
+
|
||||
#include "lirc_private.h"
|
||||
|
||||
#ifdef HAVE_INT_GETGROUPLIST_GROUPS
|
||||
@@ -540,6 +543,22 @@ static int setup_hardware(void)
|
||||
return ret;
|
||||
}
|
||||
|
||||
+static void check_config_duplicates(const struct ir_remote* head)
|
||||
+{
|
||||
+ std::set<std::string> names;
|
||||
+ const struct ir_remote* ir;
|
||||
+ const char* const errmsg =
|
||||
+ "Duplicate remotes \"%s\" found, problems ahead";
|
||||
+
|
||||
+ for (ir = head; ir != NULL; ir = ir->next) {
|
||||
+ std::string name(ir->name);
|
||||
+ if (names.count(name) == 1)
|
||||
+ log_warn(errmsg, name.c_str())
|
||||
+ else
|
||||
+ names.insert(name);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
|
||||
void config(void)
|
||||
{
|
||||
@@ -572,6 +591,7 @@ void config(void)
|
||||
}
|
||||
configfile = filename;
|
||||
config_remotes = read_config(fd, configfile);
|
||||
+ check_config_duplicates(config_remotes);
|
||||
fclose(fd);
|
||||
if (config_remotes == (void*)-1) {
|
||||
log_error("reading of config file failed");
|
||||
--
|
||||
2.5.5
|
||||
|
@ -0,0 +1,59 @@
|
||||
From e50858c64e21d7a7243cd047042107d782f7c918 Mon Sep 17 00:00:00 2001
|
||||
From: Alec Leamas <leamas.alec@gmail.com>
|
||||
Date: Sun, 30 Oct 2016 04:00:18 +0100
|
||||
Subject: [PATCH 10/10] lib: Only use local headers in lirc_private.h (#237).
|
||||
|
||||
The lirc_private.h header should only be used internally
|
||||
when building lirc tools, and i this case we should not
|
||||
care about what's possibly installed in /usr/include/lirc.
|
||||
---
|
||||
lib/lirc_private.h | 34 +++++++++++++++++-----------------
|
||||
1 file changed, 17 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/lib/lirc_private.h b/lib/lirc_private.h
|
||||
index 741f86c..2336c0a 100644
|
||||
--- a/lib/lirc_private.h
|
||||
+++ b/lib/lirc_private.h
|
||||
@@ -19,22 +19,22 @@
|
||||
#include "include/media/lirc.h"
|
||||
#endif
|
||||
|
||||
-#include "lirc/ir_remote_types.h"
|
||||
-#include "lirc/lirc_log.h"
|
||||
-#include "lirc/lirc_options.h"
|
||||
-#include "lirc/lirc-utils.h"
|
||||
-#include "lirc/curl_poll.h"
|
||||
-#include "lirc/config_file.h"
|
||||
-#include "lirc/dump_config.h"
|
||||
-#include "lirc/input_map.h"
|
||||
-#include "lirc/driver.h"
|
||||
-#include "lirc/ir_remote_types.h"
|
||||
-#include "lirc/drv_admin.h"
|
||||
-#include "lirc/ir_remote.h"
|
||||
-#include "lirc/receive.h"
|
||||
-#include "lirc/release.h"
|
||||
-#include "lirc/serial.h"
|
||||
-#include "lirc/transmit.h"
|
||||
-#include "lirc/ciniparser.h"
|
||||
+#include "ir_remote_types.h"
|
||||
+#include "lirc_log.h"
|
||||
+#include "lirc_options.h"
|
||||
+#include "lirc-utils.h"
|
||||
+#include "curl_poll.h"
|
||||
+#include "config_file.h"
|
||||
+#include "dump_config.h"
|
||||
+#include "input_map.h"
|
||||
+#include "driver.h"
|
||||
+#include "ir_remote_types.h"
|
||||
+#include "drv_admin.h"
|
||||
+#include "ir_remote.h"
|
||||
+#include "receive.h"
|
||||
+#include "release.h"
|
||||
+#include "serial.h"
|
||||
+#include "transmit.h"
|
||||
+#include "ciniparser.h"
|
||||
|
||||
#endif
|
||||
--
|
||||
2.5.5
|
||||
|
@ -1,35 +0,0 @@
|
||||
From b853e3d1bcc756206ffa1bc612996cd1597d53ea Mon Sep 17 00:00:00 2001
|
||||
From: Alec Leamas <leamas.alec@gmail.com>
|
||||
Date: Tue, 23 Aug 2016 13:24:32 +0200
|
||||
Subject: [PATCH 10/10] lirc-make-devinput: Fix that two remotes has the same
|
||||
name (#222).
|
||||
|
||||
---
|
||||
tools/lirc-make-devinput | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/tools/lirc-make-devinput b/tools/lirc-make-devinput
|
||||
index 3ae63ea..0598970 100755
|
||||
--- a/tools/lirc-make-devinput
|
||||
+++ b/tools/lirc-make-devinput
|
||||
@@ -63,7 +63,7 @@ echo "# Date: $(date)"
|
||||
cat <<EOF
|
||||
|
||||
begin remote
|
||||
- name devinput
|
||||
+ name devinput-64
|
||||
bits 16
|
||||
eps 30
|
||||
aeps 100
|
||||
@@ -89,7 +89,7 @@ echo "# generated by $(basename $0) (obsolete 32 bit version)"
|
||||
cat <<EOF
|
||||
|
||||
begin remote
|
||||
- name devinput
|
||||
+ name devinput-32
|
||||
bits 16
|
||||
eps 30
|
||||
aeps 100
|
||||
--
|
||||
2.5.5
|
||||
|
@ -1,182 +0,0 @@
|
||||
From 5dd37205a06a44e6b9cdbae5a3901e39270f0975 Mon Sep 17 00:00:00 2001
|
||||
From: Alec Leamas <leamas.alec@gmail.com>
|
||||
Date: Thu, 18 Aug 2016 22:35:31 +0200
|
||||
Subject: [PATCH 6/7] include: Update bundled lirc.h.
|
||||
|
||||
---
|
||||
include/media/lirc.h | 95 ++++++----------------------------------------------
|
||||
1 file changed, 10 insertions(+), 85 deletions(-)
|
||||
|
||||
diff --git a/include/media/lirc.h b/include/media/lirc.h
|
||||
index 601fccb..991ab45 100644
|
||||
--- a/include/media/lirc.h
|
||||
+++ b/include/media/lirc.h
|
||||
@@ -1,39 +1,13 @@
|
||||
-/**
|
||||
- * @file lirc.c
|
||||
- * This file contains some general definitions, like feature flags.
|
||||
- * It's a bundled copy from the kernel sources. Being part of
|
||||
- * kernel sources is a bug, see
|
||||
- * https://bugzilla.kernel.org/show_bug.cgi?id=75751.
|
||||
- * The file is upstreamed to the kernel from 4.6.
|
||||
- */
|
||||
-
|
||||
-#ifndef LIRC_BASE_H
|
||||
-#define LIRC_BASE_H
|
||||
-
|
||||
-#ifdef __cplusplus
|
||||
-extern "C" {
|
||||
-#endif
|
||||
-
|
||||
-/**
|
||||
- * This data type, with its extremely carefully selected name, is used as
|
||||
- * data type for the signal durations.
|
||||
- */
|
||||
-#define lirc_t int
|
||||
-
|
||||
/*
|
||||
* lirc.h - linux infrared remote control header file
|
||||
- * last modified 2010/06/03 by Jarod Wilson
|
||||
+ * last modified 2010/07/13 by Jarod Wilson
|
||||
*/
|
||||
|
||||
-#if defined(__linux__)
|
||||
+#ifndef _LINUX_LIRC_H
|
||||
+#define _LINUX_LIRC_H
|
||||
+
|
||||
#include <linux/types.h>
|
||||
#include <linux/ioctl.h>
|
||||
-#elif defined(_NetBSD_)
|
||||
-#include <sys/ioctl.h>
|
||||
-#elif defined(_CYGWIN_)
|
||||
-#define __USE_LINUX_IOCTL_DEFS
|
||||
-#include <sys/ioctl.h>
|
||||
-#endif
|
||||
|
||||
#define PULSE_BIT 0x01000000
|
||||
#define PULSE_MASK 0x00FFFFFF
|
||||
@@ -59,6 +33,9 @@ extern "C" {
|
||||
#define LIRC_IS_FREQUENCY(val) (LIRC_MODE2(val) == LIRC_MODE2_FREQUENCY)
|
||||
#define LIRC_IS_TIMEOUT(val) (LIRC_MODE2(val) == LIRC_MODE2_TIMEOUT)
|
||||
|
||||
+/* used heavily by lirc userspace */
|
||||
+#define lirc_t int
|
||||
+
|
||||
/*** lirc compatible hardware features ***/
|
||||
|
||||
#define LIRC_MODE2SEND(x) (x)
|
||||
@@ -79,16 +56,8 @@ extern "C" {
|
||||
|
||||
#define LIRC_CAN_SEND_MASK 0x0000003f
|
||||
|
||||
-/** This flag indicates that the transmitter is capable of setting the
|
||||
- * IR carrier frequency. */
|
||||
#define LIRC_CAN_SET_SEND_CARRIER 0x00000100
|
||||
-
|
||||
-/** This flag indicates that the transmitter is capable of setting the
|
||||
- * duty cycle of generated IR signals. */
|
||||
#define LIRC_CAN_SET_SEND_DUTY_CYCLE 0x00000200
|
||||
-
|
||||
-/** This flag indicates that the transmitter is capable of setting a
|
||||
- * transmitter mask, i.e., probably has several transmitters. */
|
||||
#define LIRC_CAN_SET_TRANSMITTER_MASK 0x00000400
|
||||
|
||||
#define LIRC_CAN_REC_RAW LIRC_MODE2REC(LIRC_MODE_RAW)
|
||||
@@ -107,16 +76,10 @@ extern "C" {
|
||||
#define LIRC_CAN_SET_REC_TIMEOUT 0x10000000
|
||||
#define LIRC_CAN_SET_REC_FILTER 0x08000000
|
||||
|
||||
-
|
||||
-/** This flag indicates that the receiver is capable of estimating
|
||||
- * the carrier frequency of received IR signals. */
|
||||
#define LIRC_CAN_MEASURE_CARRIER 0x02000000
|
||||
#define LIRC_CAN_USE_WIDEBAND_RECEIVER 0x04000000
|
||||
|
||||
-/** Extract sending features from its argument. */
|
||||
#define LIRC_CAN_SEND(x) ((x)&LIRC_CAN_SEND_MASK)
|
||||
-
|
||||
-/** Extract receiving features from its argument. */
|
||||
#define LIRC_CAN_REC(x) ((x)&LIRC_CAN_REC_MASK)
|
||||
|
||||
#define LIRC_CAN_NOTIFY_DECODE 0x01000000
|
||||
@@ -127,20 +90,11 @@ extern "C" {
|
||||
|
||||
#define LIRC_GET_SEND_MODE _IOR('i', 0x00000001, __u32)
|
||||
#define LIRC_GET_REC_MODE _IOR('i', 0x00000002, __u32)
|
||||
-#define LIRC_GET_SEND_CARRIER _IOR('i', 0x00000003, __u32)
|
||||
-#define LIRC_GET_REC_CARRIER _IOR('i', 0x00000004, __u32)
|
||||
-#define LIRC_GET_SEND_DUTY_CYCLE _IOR('i', 0x00000005, __u32)
|
||||
-#define LIRC_GET_REC_DUTY_CYCLE _IOR('i', 0x00000006, __u32)
|
||||
#define LIRC_GET_REC_RESOLUTION _IOR('i', 0x00000007, __u32)
|
||||
|
||||
#define LIRC_GET_MIN_TIMEOUT _IOR('i', 0x00000008, __u32)
|
||||
#define LIRC_GET_MAX_TIMEOUT _IOR('i', 0x00000009, __u32)
|
||||
|
||||
-#define LIRC_GET_MIN_FILTER_PULSE _IOR('i', 0x0000000a, __u32)
|
||||
-#define LIRC_GET_MAX_FILTER_PULSE _IOR('i', 0x0000000b, __u32)
|
||||
-#define LIRC_GET_MIN_FILTER_SPACE _IOR('i', 0x0000000c, __u32)
|
||||
-#define LIRC_GET_MAX_FILTER_SPACE _IOR('i', 0x0000000d, __u32)
|
||||
-
|
||||
/* code length in bits, currently only for LIRC_MODE_LIRCCODE */
|
||||
#define LIRC_GET_LENGTH _IOR('i', 0x0000000f, __u32)
|
||||
|
||||
@@ -150,7 +104,6 @@ extern "C" {
|
||||
#define LIRC_SET_SEND_CARRIER _IOW('i', 0x00000013, __u32)
|
||||
#define LIRC_SET_REC_CARRIER _IOW('i', 0x00000014, __u32)
|
||||
#define LIRC_SET_SEND_DUTY_CYCLE _IOW('i', 0x00000015, __u32)
|
||||
-#define LIRC_SET_REC_DUTY_CYCLE _IOW('i', 0x00000016, __u32)
|
||||
#define LIRC_SET_TRANSMITTER_MASK _IOW('i', 0x00000017, __u32)
|
||||
|
||||
/*
|
||||
@@ -164,45 +117,17 @@ extern "C" {
|
||||
#define LIRC_SET_REC_TIMEOUT_REPORTS _IOW('i', 0x00000019, __u32)
|
||||
|
||||
/*
|
||||
- * pulses shorter than this are filtered out by hardware (software
|
||||
- * emulation in lirc_dev?)
|
||||
- */
|
||||
-#define LIRC_SET_REC_FILTER_PULSE _IOW('i', 0x0000001a, __u32)
|
||||
-/*
|
||||
- * spaces shorter than this are filtered out by hardware (software
|
||||
- * emulation in lirc_dev?)
|
||||
- */
|
||||
-#define LIRC_SET_REC_FILTER_SPACE _IOW('i', 0x0000001b, __u32)
|
||||
-/*
|
||||
- * if filter cannot be set independantly for pulse/space, this should
|
||||
- * be used
|
||||
- */
|
||||
-#define LIRC_SET_REC_FILTER _IOW('i', 0x0000001c, __u32)
|
||||
-
|
||||
-/*
|
||||
* if enabled from the next key press on the driver will send
|
||||
* LIRC_MODE2_FREQUENCY packets
|
||||
*/
|
||||
-#define LIRC_SET_MEASURE_CARRIER_MODE _IOW('i', 0x0000001d, __u32)
|
||||
+#define LIRC_SET_MEASURE_CARRIER_MODE _IOW('i', 0x0000001d, __u32)
|
||||
|
||||
/*
|
||||
- * to set a range use
|
||||
- * LIRC_SET_REC_DUTY_CYCLE_RANGE/LIRC_SET_REC_CARRIER_RANGE with the
|
||||
- * lower bound first and later
|
||||
- * LIRC_SET_REC_DUTY_CYCLE/LIRC_SET_REC_CARRIER with the upper bound
|
||||
+ * to set a range use LIRC_SET_REC_CARRIER_RANGE with the
|
||||
+ * lower bound first and later LIRC_SET_REC_CARRIER with the upper bound
|
||||
*/
|
||||
-
|
||||
-#define LIRC_SET_REC_DUTY_CYCLE_RANGE _IOW('i', 0x0000001e, __u32)
|
||||
#define LIRC_SET_REC_CARRIER_RANGE _IOW('i', 0x0000001f, __u32)
|
||||
|
||||
-#define LIRC_NOTIFY_DECODE _IO('i', 0x00000020)
|
||||
-
|
||||
-#define LIRC_SETUP_START _IO('i', 0x00000021)
|
||||
-#define LIRC_SETUP_END _IO('i', 0x00000022)
|
||||
#define LIRC_SET_WIDEBAND_RECEIVER _IOW('i', 0x00000023, __u32)
|
||||
|
||||
-#ifdef __cplusplus
|
||||
-}
|
||||
#endif
|
||||
-
|
||||
-#endif //LIRC_BASE_H
|
||||
--
|
||||
2.5.5
|
||||
|
@ -1,110 +0,0 @@
|
||||
From 6a57d48e1a233dfc55d436e8d064509cb03973d1 Mon Sep 17 00:00:00 2001
|
||||
From: Alec Leamas <leamas.alec@gmail.com>
|
||||
Date: Fri, 19 Aug 2016 04:48:02 +0200
|
||||
Subject: [PATCH 7/7] lircd: Remove use of functions killed in kernel 4.8.0
|
||||
|
||||
From 4.8.0 the kernel no longer supports LIRC_NOTIFY_DECODE,
|
||||
LIRC_SETUP_START/LIRC_SETUP_END and several constants related
|
||||
to initiating filters. Remove corresponding calls from lircd.
|
||||
---
|
||||
daemons/lircd.cpp | 51 ++-------------------------------------------------
|
||||
lib/driver.h | 7 +++++++
|
||||
2 files changed, 9 insertions(+), 49 deletions(-)
|
||||
|
||||
diff --git a/daemons/lircd.cpp b/daemons/lircd.cpp
|
||||
index a7dbc94..a50d11f 100644
|
||||
--- a/daemons/lircd.cpp
|
||||
+++ b/daemons/lircd.cpp
|
||||
@@ -464,50 +464,6 @@ static int setup_timeout(void)
|
||||
}
|
||||
|
||||
|
||||
-static int setup_filter(void)
|
||||
-{
|
||||
- int ret1, ret2;
|
||||
- lirc_t min_pulse_supported = 0, max_pulse_supported = 0;
|
||||
- lirc_t min_space_supported = 0, max_space_supported = 0;
|
||||
-
|
||||
- if (!(curr_driver->features & LIRC_CAN_SET_REC_FILTER))
|
||||
- return 1;
|
||||
- if (curr_driver->drvctl_func(LIRC_GET_MIN_FILTER_PULSE,
|
||||
- &min_pulse_supported) == -1 ||
|
||||
- curr_driver->drvctl_func(LIRC_GET_MAX_FILTER_PULSE, &max_pulse_supported) == -1
|
||||
- || curr_driver->drvctl_func(LIRC_GET_MIN_FILTER_SPACE, &min_space_supported) == -1
|
||||
- || curr_driver->drvctl_func(LIRC_GET_MAX_FILTER_SPACE, &max_space_supported) == -1) {
|
||||
- log_error("could not get filter range");
|
||||
- log_perror_err(__func__);
|
||||
- }
|
||||
-
|
||||
- if (setup_min_pulse > max_pulse_supported)
|
||||
- setup_min_pulse = max_pulse_supported;
|
||||
- else if (setup_min_pulse < min_pulse_supported)
|
||||
- setup_min_pulse = 0; /* disable filtering */
|
||||
-
|
||||
- if (setup_min_space > max_space_supported)
|
||||
- setup_min_space = max_space_supported;
|
||||
- else if (setup_min_space < min_space_supported)
|
||||
- setup_min_space = 0; /* disable filtering */
|
||||
-
|
||||
- ret1 = curr_driver->drvctl_func(LIRC_SET_REC_FILTER_PULSE, &setup_min_pulse);
|
||||
- ret2 = curr_driver->drvctl_func(LIRC_SET_REC_FILTER_SPACE, &setup_min_space);
|
||||
- if (ret1 == -1 || ret2 == -1) {
|
||||
- if (curr_driver->
|
||||
- drvctl_func(LIRC_SET_REC_FILTER,
|
||||
- setup_min_pulse < setup_min_space ? &setup_min_pulse : &setup_min_space) == -1) {
|
||||
- log_error("could not set filter");
|
||||
- log_perror_err(__func__);
|
||||
- return 0;
|
||||
- }
|
||||
- }
|
||||
- return 1;
|
||||
-}
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
static int setup_hardware(void)
|
||||
{
|
||||
int ret = 1;
|
||||
@@ -516,10 +472,7 @@ static int setup_hardware(void)
|
||||
if ((curr_driver->features & LIRC_CAN_SET_REC_CARRIER)
|
||||
|| (curr_driver->features & LIRC_CAN_SET_REC_TIMEOUT)
|
||||
|| (curr_driver->features & LIRC_CAN_SET_REC_FILTER)) {
|
||||
- (void)curr_driver->drvctl_func(LIRC_SETUP_START, NULL);
|
||||
- ret = setup_frequency() && setup_timeout()
|
||||
- && setup_filter();
|
||||
- (void)curr_driver->drvctl_func(LIRC_SETUP_END, NULL);
|
||||
+ ret = setup_frequency() && setup_timeout();
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
@@ -2162,7 +2115,7 @@ void loop(void)
|
||||
int reps;
|
||||
|
||||
if (curr_driver->drvctl_func && (curr_driver->features & LIRC_CAN_NOTIFY_DECODE))
|
||||
- curr_driver->drvctl_func(LIRC_NOTIFY_DECODE, NULL);
|
||||
+ curr_driver->drvctl_func(DRVCTL_NOTIFY_DECODE, NULL);
|
||||
|
||||
get_release_data(&remote_name, &button_name, &reps);
|
||||
|
||||
diff --git a/lib/driver.h b/lib/driver.h
|
||||
index c7c4a6a..fc7318e 100644
|
||||
--- a/lib/driver.h
|
||||
+++ b/lib/driver.h
|
||||
@@ -97,6 +97,13 @@ int drv_handle_options(const char* options);
|
||||
/** drvctl cmd: Free memory in argument obtained using DRVCTL_GET_DEVICES. */
|
||||
#define DRVCTL_FREE_DEVICES 6
|
||||
|
||||
+/**
|
||||
+ * The former LIRC_NOTIFY_DECODE, informs drier that signal is successfully
|
||||
+ * decoded e. g., to initiate some visual feedback through a LED.
|
||||
+ */
|
||||
+
|
||||
+#define DRVCTL_NOTIFY_DECODE 7
|
||||
+
|
||||
/** Last well-known command. Remaining is used in driver-specific controls.*/
|
||||
#define DRVCTL_MAX 128
|
||||
|
||||
--
|
||||
2.5.5
|
||||
|
Loading…
Reference in new issue