mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-30 06:06:43 +00:00
Merge branch 'openelec-next' of git://github.com/OpenELEC/OpenELEC.tv into openelec-pvr
This commit is contained in:
commit
5308d060e1
@ -20,7 +20,7 @@
|
||||
|
||||
PKG_NAME="transmission"
|
||||
PKG_VERSION="2.31"
|
||||
PKG_REV="2"
|
||||
PKG_REV="3"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
PKG_SITE="http://www.transmissionbt.com/"
|
||||
|
@ -59,6 +59,7 @@ app_prep() {
|
||||
|
||||
export TRANSMISSION_WEB_HOME="$SCRIPT_DIR/web"
|
||||
|
||||
mkdir -p $ADDON_HOME
|
||||
OPENELEC_SETTINGS="$ADDON_HOME/settings.xml"
|
||||
|
||||
if [ ! -f "$OPENELEC_SETTINGS" ]; then
|
||||
|
@ -49,8 +49,8 @@ else
|
||||
mixer 0 CD 0% mute
|
||||
|
||||
# Only unmute Line and Aux if they are possibly used.
|
||||
mixer 0 Line 100%
|
||||
mixer 0 Aux 100%
|
||||
# mixer 0 Line 100%
|
||||
# mixer 0 Aux 100%
|
||||
|
||||
# mute mic
|
||||
mixer 0 Mic 0% mute
|
||||
|
@ -28,11 +28,12 @@ setup_toolchain host
|
||||
|
||||
cd $BUILD/file-*
|
||||
|
||||
do_autoreconf
|
||||
mkdir -p .build-host && cd .build-host
|
||||
../configure --prefix=$ROOT/$TOOLCHAIN \
|
||||
--enable-shared \
|
||||
--disable-static \
|
||||
--enable-fsect-man5 \
|
||||
--disable-rpath
|
||||
|
||||
make
|
||||
make install
|
||||
|
@ -32,5 +32,8 @@ cd .build-target
|
||||
--localstatedir=/var \
|
||||
--enable-shared \
|
||||
--disable-static \
|
||||
--enable-fsect-man5 \
|
||||
--disable-rpath
|
||||
|
||||
|
||||
make
|
||||
|
@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="file"
|
||||
PKG_VERSION="5.04"
|
||||
PKG_VERSION="5.07"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="BSD"
|
||||
|
32
packages/devel/file/patches/file-5.07-dos.patch
Normal file
32
packages/devel/file/patches/file-5.07-dos.patch
Normal file
@ -0,0 +1,32 @@
|
||||
From 19f5096d0b4c1a49af6cc4e0d086d6128c493bd8 Mon Sep 17 00:00:00 2001
|
||||
From: Christos Zoulas <christos@zoulas.com>
|
||||
Date: Wed, 18 May 2011 18:11:23 +0000
|
||||
Subject: [PATCH] Fixed 0 file problem.
|
||||
|
||||
---
|
||||
magic/Magdir/msdos | 11 ++++++-----
|
||||
1 files changed, 6 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/magic/Magdir/msdos b/magic/Magdir/msdos
|
||||
index 731d50b..f8852cb 100644
|
||||
--- a/magic/Magdir/msdos
|
||||
+++ b/magic/Magdir/msdos
|
||||
@@ -389,10 +389,11 @@
|
||||
>>4 uleshort&0x4842 >0 \bsupport
|
||||
>0 ubyte x \b)
|
||||
# DOS driver cmd640x.sys has 0x12 instead of 0xffffffff for pointer field to next device header
|
||||
-0 ulequad&0x000007a0ffffffed 0x0000000000000000 DOS-executable (
|
||||
->4 uleshort&0x8000 0x8000 \bcharacter device driver
|
||||
->>10 string x %-.8s
|
||||
->4 uleshort&0x4000 0x4000 \b,control strings-support)
|
||||
+# Too weak, matches files that only contain 0's
|
||||
+#0 ulequad&0x000007a0ffffffed 0x0000000000000000 DOS-executable (
|
||||
+#>4 uleshort&0x8000 0x8000 \bcharacter device driver
|
||||
+#>>10 string x %-.8s
|
||||
+#>4 uleshort&0x4000 0x4000 \b,control strings-support)
|
||||
|
||||
# test too generic ?
|
||||
0 byte 0x8c DOS executable (COM)
|
||||
--
|
||||
1.7.4.1
|
||||
|
57
packages/devel/file/patches/file-5.07-rpm-archs.patch
Normal file
57
packages/devel/file/patches/file-5.07-rpm-archs.patch
Normal file
@ -0,0 +1,57 @@
|
||||
diff --git a/magic/Magdir/rpm b/magic/Magdir/rpm
|
||||
index c40e1b5..d252ced 100644
|
||||
--- a/magic/Magdir/rpm
|
||||
+++ b/magic/Magdir/rpm
|
||||
@@ -21,12 +21,29 @@
|
||||
>>>8 beshort 8 RS6000
|
||||
>>>8 beshort 9 IA64
|
||||
>>>8 beshort 10 Sparc64
|
||||
+>>>8 beshort 11 MIPSel
|
||||
+>>>8 beshort 12 ARM
|
||||
+>>>8 beshort 13 MiNT
|
||||
+>>>8 beshort 14 S/390
|
||||
+>>>8 beshort 15 S/390x
|
||||
+>>>8 beshort 16 PowerPC64
|
||||
+>>>8 beshort 17 SuperH
|
||||
+>>>8 beshort 18 Xtensa
|
||||
|
||||
#delta RPM Daniel Novotny (dnovotny@redhat.com)
|
||||
0 string drpm Delta RPM
|
||||
!:mime application/x-rpm
|
||||
>12 string x %s
|
||||
-
|
||||
+>>>8 beshort 1 i386/x86_64
|
||||
+>>>8 beshort 2 Alpha/Sparc64
|
||||
+>>>8 beshort 3 Sparc
|
||||
+>>>8 beshort 4 MIPS
|
||||
+>>>8 beshort 5 PowerPC
|
||||
+>>>8 beshort 6 68000
|
||||
+>>>8 beshort 7 SGI
|
||||
+>>>8 beshort 8 RS6000
|
||||
+>>>8 beshort 9 IA64
|
||||
+>>>8 beshort 10 Sparc64
|
||||
>>>8 beshort 11 MIPSel
|
||||
>>>8 beshort 12 ARM
|
||||
>>>8 beshort 13 MiNT
|
||||
@@ -42,3 +59,21 @@
|
||||
0 string drpm Delta RPM
|
||||
!:mime application/x-rpm
|
||||
>12 string x %s
|
||||
+>>>8 beshort 1 i386/x86_64
|
||||
+>>>8 beshort 2 Alpha/Sparc64
|
||||
+>>>8 beshort 3 Sparc
|
||||
+>>>8 beshort 4 MIPS
|
||||
+>>>8 beshort 5 PowerPC
|
||||
+>>>8 beshort 6 68000
|
||||
+>>>8 beshort 7 SGI
|
||||
+>>>8 beshort 8 RS6000
|
||||
+>>>8 beshort 9 IA64
|
||||
+>>>8 beshort 10 Sparc64
|
||||
+>>>8 beshort 11 MIPSel
|
||||
+>>>8 beshort 12 ARM
|
||||
+>>>8 beshort 13 MiNT
|
||||
+>>>8 beshort 14 S/390
|
||||
+>>>8 beshort 15 S/390x
|
||||
+>>>8 beshort 16 PowerPC64
|
||||
+>>>8 beshort 17 SuperH
|
||||
+>>>8 beshort 18 Xtensa
|
26
packages/devel/file/patches/file-5.07-zip.patch
Normal file
26
packages/devel/file/patches/file-5.07-zip.patch
Normal file
@ -0,0 +1,26 @@
|
||||
From e990dc53f658cb67ec7b33c32e0bc24e65801792 Mon Sep 17 00:00:00 2001
|
||||
From: Christos Zoulas <christos@zoulas.com>
|
||||
Date: Sat, 14 May 2011 15:04:15 +0000
|
||||
Subject: [PATCH] small archive
|
||||
|
||||
---
|
||||
magic/Magdir/archive | 5 ++++-
|
||||
1 files changed, 4 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/magic/Magdir/archive b/magic/Magdir/archive
|
||||
index e84c8e3..5ad1ce3 100644
|
||||
--- a/magic/Magdir/archive
|
||||
+++ b/magic/Magdir/archive
|
||||
@@ -654,6 +654,9 @@
|
||||
>>>>78 string -template Template
|
||||
!:mime application/vnd.oasis.opendocument.image-template
|
||||
|
||||
+>26 byte x Zip archive data
|
||||
+
|
||||
+
|
||||
# StarView Metafile
|
||||
# From Pierre Ducroquet <pinaraf@pinaraf.info>
|
||||
0 string VCLMTF StarView MetaFile
|
||||
--
|
||||
1.7.4.1
|
||||
|
12
packages/devel/file/patches/file-5.07-zip64.patch
Normal file
12
packages/devel/file/patches/file-5.07-zip64.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff --git a/magic/Magdir/archive b/magic/Magdir/archive
|
||||
index c998e5b..4da532a 100644
|
||||
--- a/magic/Magdir/archive
|
||||
+++ b/magic/Magdir/archive
|
||||
@@ -688,6 +688,7 @@
|
||||
>>4 byte 0x0b \b, at least v1.1 to extract
|
||||
>>0x161 string WINZIP \b, WinZIP self-extracting
|
||||
>>4 byte 0x14 \b, at least v2.0 to extract
|
||||
+>>4 byte 0x2d Zip64, at least v3.0 to extract
|
||||
|
||||
# Zoo archiver
|
||||
20 lelong 0xfdc4a7dc Zoo archive data
|
@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="glib"
|
||||
PKG_VERSION="2.28.6"
|
||||
PKG_VERSION="2.28.7"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="LGPL"
|
||||
|
@ -0,0 +1,21 @@
|
||||
diff -Naur Python-2.6.6/setup.py Python-2.6.6.patch/setup.py
|
||||
--- Python-2.6.6/setup.py 2011-05-27 13:46:39.977454633 +0200
|
||||
+++ Python-2.6.6.patch/setup.py 2011-05-27 13:47:28.200047208 +0200
|
||||
@@ -758,7 +758,7 @@
|
||||
|
||||
if (ssl_incs is not None and
|
||||
ssl_libs is not None and
|
||||
- openssl_ver >= 0x00907000 and False):
|
||||
+ openssl_ver >= 0x00907000):
|
||||
# The _hashlib module wraps optimized implementations
|
||||
# of hash functions from the OpenSSL library.
|
||||
exts.append( Extension('_hashlib', ['_hashopenssl.c'],
|
||||
@@ -778,7 +778,7 @@
|
||||
depends = ['md5.h']) )
|
||||
missing.append('_hashlib')
|
||||
|
||||
- if (True or openssl_ver < 0x00908000):
|
||||
+ if (openssl_ver < 0x00908000):
|
||||
# OpenSSL doesn't do these until 0.9.8 so we'll bring our own hash
|
||||
exts.append( Extension('_sha256', ['sha256module.c']) )
|
||||
exts.append( Extension('_sha512', ['sha512module.c']) )
|
@ -0,0 +1,34 @@
|
||||
From: Mauro Carvalho Chehab <mchehab@redhat.com>
|
||||
Date: Thu, 12 May 2011 01:36:47 +0000 (-0300)
|
||||
Subject: [media] Use a more consistent value for RC repeat period
|
||||
X-Git-Url: http://git.linuxtv.org/media_tree.git?a=commitdiff_plain;h=ca540c8b66874aaf704c64d43d33e39369c428fb
|
||||
|
||||
[media] Use a more consistent value for RC repeat period
|
||||
|
||||
The default REP_PERIOD is 33 ms. This doesn't make sense for IR's,
|
||||
as, in general, an IR repeat scancode is provided at every 110/115ms,
|
||||
depending on the RC protocol. So, increase its default, to do a
|
||||
better job avoiding ghost repeat events.
|
||||
|
||||
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
||||
Acked-by: Jarod Wilson <jarod@redhat.com>
|
||||
---
|
||||
|
||||
diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c
|
||||
index 0d4fcd9..f57cd56 100644
|
||||
--- a/drivers/media/rc/rc-main.c
|
||||
+++ b/drivers/media/rc/rc-main.c
|
||||
@@ -1078,6 +1078,13 @@ int rc_register_device(struct rc_dev *dev)
|
||||
*/
|
||||
dev->input_dev->rep[REP_DELAY] = 500;
|
||||
|
||||
+ /*
|
||||
+ * As a repeat event on protocols like RC-5 and NEC take as long as
|
||||
+ * 110/114ms, using 33ms as a repeat period is not the right thing
|
||||
+ * to do.
|
||||
+ */
|
||||
+ dev->input_dev->rep[REP_PERIOD] = 125;
|
||||
+
|
||||
path = kobject_get_path(&dev->dev.kobj, GFP_KERNEL);
|
||||
printk(KERN_INFO "%s: %s as %s\n",
|
||||
dev_name(&dev->dev),
|
@ -1,17 +1,45 @@
|
||||
[media] fintek-cir: new device driver
|
||||
From 2988e952273e64d4a142f2c93cac99c8721d7909 Mon Sep 17 00:00:00 2001
|
||||
From: Jarod Wilson <jarod@redhat.com>
|
||||
Date: Wed, 18 May 2011 18:11:19 -0400
|
||||
Subject: [PATCH] [media] fintek-cir: new driver for Fintek LPC SuperIO CIR function
|
||||
|
||||
Device driver for the Fintek F71809 LPC SuperIO Integrated CIR.
|
||||
This is a new driver for the Fintek LPC SuperIO CIR function, in the
|
||||
Fintek F71809 chip. Hardware and datasheets were provided by Fintek, so
|
||||
thanks go to them for supporting this effort.
|
||||
|
||||
Only receive is supported at the moment, but the hardware does
|
||||
support transmit. This is just a first rough draft, if you will...
|
||||
This driver started out as a copy of the nuvoton-cir driver, and was
|
||||
then modified as needed for the Fintek chip. The two share many
|
||||
similaries, though the buffer handling for the Fintek chip is actually
|
||||
nearly identical to the mceusb buffer handling, so the parser routine is
|
||||
almost a drop-in copy of the mceusb buffer parser (a candidate for being
|
||||
abstracted out into shared code at some point).
|
||||
|
||||
This initial code drop *only* supports receive, but the hardware does
|
||||
support transmit as well. I really haven't even started to look at
|
||||
what's required, but my guess is that its also pretty similar to mceusb.
|
||||
Most people are probably only really interested in RX anyway though, so
|
||||
I think its good to get this out there even with only RX.
|
||||
|
||||
(Nb: there are also Fintek-made mceusb receivers, which presumably, this
|
||||
chip shares CIR hardware with).
|
||||
|
||||
This hardware can be found on at least Jetway NC98 boards and derivative
|
||||
systems, and likely others as well. Functionality was tested with an
|
||||
NC98 development board, in-kernel decode of RC6 (mce), RC5 (hauppauge)
|
||||
and NEC-ish (tivo) remotes all successful, as was lirc userspace decode
|
||||
of the RC6 remote.
|
||||
|
||||
CC: Aaron Huang <aaron_huang@fintek.com.tw>
|
||||
CC: Tom Tsai <tom_tsai@fintek.com.tw>
|
||||
Signed-off-by: Jarod Wilson <jarod@redhat.com>
|
||||
---
|
||||
drivers/media/rc/Kconfig | 12 +
|
||||
drivers/media/rc/Makefile | 1 +
|
||||
drivers/media/rc/fintek-cir.c | 618 +++++++++++++++++++++++++++++++++++++++++
|
||||
drivers/media/rc/fintek-cir.h | 224 +++++++++++++++
|
||||
4 files changed, 855 insertions(+), 0 deletions(-)
|
||||
drivers/media/rc/fintek-cir.c | 684 +++++++++++++++++++++++++++++++++++++++++
|
||||
drivers/media/rc/fintek-cir.h | 243 +++++++++++++++
|
||||
4 files changed, 940 insertions(+), 0 deletions(-)
|
||||
create mode 100644 drivers/media/rc/fintek-cir.c
|
||||
create mode 100644 drivers/media/rc/fintek-cir.h
|
||||
|
||||
diff --git a/drivers/media/rc/Kconfig b/drivers/media/rc/Kconfig
|
||||
index 154c337..7d4bbc2 100644
|
||||
@ -50,10 +78,10 @@ index 1f90a21..52830e5 100644
|
||||
obj-$(CONFIG_IR_REDRAT3) += redrat3.o
|
||||
diff --git a/drivers/media/rc/fintek-cir.c b/drivers/media/rc/fintek-cir.c
|
||||
new file mode 100644
|
||||
index 0000000..ae275ec
|
||||
index 0000000..8fa539d
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/rc/fintek-cir.c
|
||||
@@ -0,0 +1,618 @@
|
||||
@@ -0,0 +1,684 @@
|
||||
+/*
|
||||
+ * Driver for Feature Integration Technology Inc. (aka Fintek) LPC CIR
|
||||
+ *
|
||||
@ -298,51 +326,123 @@ index 0000000..ae275ec
|
||||
+ /* Save state */
|
||||
+ fintek_set_reg_bit(fintek, ACPI_STATE_CIR_BIT, LDEV_ACPI_STATE_REG);
|
||||
+
|
||||
+ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR);
|
||||
+ fintek_cr_write(fintek, LOGICAL_DEV_ENABLE, CIR_CR_DEV_EN);
|
||||
+ fintek_config_mode_disable(fintek);
|
||||
+}
|
||||
+
|
||||
+static int fintek_cmdsize(u8 cmd, u8 subcmd)
|
||||
+{
|
||||
+ int datasize = 0;
|
||||
+
|
||||
+ switch (cmd) {
|
||||
+ case BUF_COMMAND_NULL:
|
||||
+ if (subcmd == BUF_HW_CMD_HEADER)
|
||||
+ datasize = 1;
|
||||
+ break;
|
||||
+ case BUF_HW_CMD_HEADER:
|
||||
+ if (subcmd == BUF_CMD_G_REVISION)
|
||||
+ datasize = 2;
|
||||
+ break;
|
||||
+ case BUF_COMMAND_HEADER:
|
||||
+ switch (subcmd) {
|
||||
+ case BUF_CMD_S_CARRIER:
|
||||
+ case BUF_CMD_S_TIMEOUT:
|
||||
+ case BUF_RSP_PULSE_COUNT:
|
||||
+ datasize = 2;
|
||||
+ break;
|
||||
+ case BUF_CMD_SIG_END:
|
||||
+ case BUF_CMD_S_TXMASK:
|
||||
+ case BUF_CMD_S_RXSENSOR:
|
||||
+ datasize = 1;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return datasize;
|
||||
+}
|
||||
+
|
||||
+/* process ir data stored in driver buffer */
|
||||
+static void fintek_process_rx_ir_data(struct fintek_dev *fintek)
|
||||
+{
|
||||
+ DEFINE_IR_RAW_EVENT(rawir);
|
||||
+ u8 sample;
|
||||
+ int i;
|
||||
+
|
||||
+ for (i = 0; i < fintek->pkts; i++) {
|
||||
+ sample = fintek->buf[i];
|
||||
+ switch (fintek->parser_state) {
|
||||
+ case CMD_HEADER:
|
||||
+ fintek->cmd = sample;
|
||||
+ if ((fintek->cmd == BUF_COMMAND_HEADER) ||
|
||||
+ ((fintek->cmd & BUF_COMMAND_MASK) !=
|
||||
+ BUF_PULSE_BIT)) {
|
||||
+ fintek->parser_state = SUBCMD;
|
||||
+ continue;
|
||||
+ }
|
||||
+ fintek->rem = (fintek->cmd & BUF_LEN_MASK);
|
||||
+ fit_dbg("%s: rem: 0x%02x", __func__, fintek->rem);
|
||||
+ if (fintek->rem)
|
||||
+ fintek->parser_state = PARSE_IRDATA;
|
||||
+ else
|
||||
+ ir_raw_event_reset(fintek->rdev);
|
||||
+ break;
|
||||
+ case SUBCMD:
|
||||
+ fintek->rem = fintek_cmdsize(fintek->cmd, sample);
|
||||
+ fintek->parser_state = CMD_DATA;
|
||||
+ break;
|
||||
+ case CMD_DATA:
|
||||
+ fintek->rem--;
|
||||
+ break;
|
||||
+ case PARSE_IRDATA:
|
||||
+ fintek->rem--;
|
||||
+ init_ir_raw_event(&rawir);
|
||||
+ rawir.pulse = ((sample & BUF_PULSE_BIT) != 0);
|
||||
+ rawir.duration = US_TO_NS((sample & BUF_SAMPLE_MASK)
|
||||
+ * CIR_SAMPLE_PERIOD);
|
||||
+
|
||||
+ fit_dbg("Storing %s with duration %d",
|
||||
+ rawir.pulse ? "pulse" : "space",
|
||||
+ rawir.duration);
|
||||
+ ir_raw_event_store_with_filter(fintek->rdev, &rawir);
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ if ((fintek->parser_state != CMD_HEADER) && !fintek->rem)
|
||||
+ fintek->parser_state = CMD_HEADER;
|
||||
+ }
|
||||
+
|
||||
+ fintek->pkts = 0;
|
||||
+
|
||||
+ fit_dbg("Calling ir_raw_event_handle");
|
||||
+ ir_raw_event_handle(fintek->rdev);
|
||||
+}
|
||||
+
|
||||
+/* copy data from hardware rx register into driver buffer */
|
||||
+static void fintek_get_rx_ir_data(struct fintek_dev *fintek, u8 rx_irqs)
|
||||
+{
|
||||
+ DEFINE_IR_RAW_EVENT(rawir);
|
||||
+ unsigned long flags;
|
||||
+ u8 header, sample, status, len, i;
|
||||
+
|
||||
+ init_ir_raw_event(&rawir);
|
||||
+ u8 sample, status;
|
||||
+
|
||||
+ spin_lock_irqsave(&fintek->fintek_lock, flags);
|
||||
+
|
||||
+ header = fintek_cir_reg_read(fintek, CIR_RX_DATA);
|
||||
+ fit_dbg("%s: sample header 0x%02x", __func__, header);
|
||||
+ len = header & BUF_LEN_MASK;
|
||||
+
|
||||
+ for (i = 0; i < len; i++) {
|
||||
+ /*
|
||||
+ * We must read data from CIR_RX_DATA until the hardware IR buffer
|
||||
+ * is empty and clears the RX_TIMEOUT and/or RX_RECEIVE flags in
|
||||
+ * the CIR_STATUS register
|
||||
+ */
|
||||
+ do {
|
||||
+ sample = fintek_cir_reg_read(fintek, CIR_RX_DATA);
|
||||
+ fit_dbg("%s: sample 0x%02x", __func__, sample);
|
||||
+ fit_dbg("%s: sample: 0x%02x", __func__, sample);
|
||||
+
|
||||
+ fintek->buf[fintek->pkts] = sample;
|
||||
+ fintek->pkts++;
|
||||
+
|
||||
+ status = fintek_cir_reg_read(fintek, CIR_STATUS);
|
||||
+ if (!(status & rx_irqs))
|
||||
+ fit_dbg("RX irqs cleared");
|
||||
+ if (!(status & CIR_STATUS_IRQ_EN))
|
||||
+ break;
|
||||
+ } while (status & rx_irqs);
|
||||
+
|
||||
+ rawir.pulse = ((sample & BUF_PULSE_BIT) != 0);
|
||||
+ rawir.duration = US_TO_NS((sample & BUF_LEN_MASK)
|
||||
+ * CIR_SAMPLE_PERIOD);
|
||||
+ fintek_process_rx_ir_data(fintek);
|
||||
+
|
||||
+ fit_dbg("Storing %s with duration %d",
|
||||
+ rawir.pulse ? "pulse" : "space", rawir.duration);
|
||||
+
|
||||
+ ir_raw_event_store_with_filter(fintek->rdev, &rawir);
|
||||
+ }
|
||||
+
|
||||
+ fit_dbg("Calling ir_raw_event_handle");
|
||||
+ ir_raw_event_handle(fintek->rdev);
|
||||
+
|
||||
+ while (fintek_cir_reg_read(fintek, CIR_STATUS) & rx_irqs) {
|
||||
+ fit_dbg("RX irqs not cleared");
|
||||
+ sample = fintek_cir_reg_read(fintek, CIR_RX_DATA);
|
||||
+ fit_dbg("%s: sample 0x%02x", __func__, sample);
|
||||
+ }
|
||||
+ spin_unlock_irqrestore(&fintek->fintek_lock, flags);
|
||||
+}
|
||||
+
|
||||
@ -378,8 +478,8 @@ index 0000000..ae275ec
|
||||
+ * 0: RX_RECEIVE - RX data received
|
||||
+ */
|
||||
+ status = fintek_cir_reg_read(fintek, CIR_STATUS);
|
||||
+ if (!(status & CIR_STATUS_IRQ_MASK)) {
|
||||
+ fit_dbg_verbose("%s exiting, IRSTS 0x0", __func__);
|
||||
+ if (!(status & CIR_STATUS_IRQ_MASK) || status == 0xff) {
|
||||
+ fit_dbg_verbose("%s exiting, IRSTS 0x%02x", __func__, status);
|
||||
+ fintek_cir_reg_write(fintek, CIR_STATUS_IRQ_MASK, CIR_STATUS);
|
||||
+ return IRQ_RETVAL(IRQ_NONE);
|
||||
+ }
|
||||
@ -420,9 +520,6 @@ index 0000000..ae275ec
|
||||
+
|
||||
+static void fintek_disable_cir(struct fintek_dev *fintek)
|
||||
+{
|
||||
+ /* clear any and all pending interrupts and disable IRQ */
|
||||
+ fintek_cir_reg_write(fintek, CIR_STATUS_IRQ_MASK, CIR_STATUS);
|
||||
+
|
||||
+ fintek_config_mode_enable(fintek);
|
||||
+
|
||||
+ /* disable the CIR logical device */
|
||||
@ -438,7 +535,6 @@ index 0000000..ae275ec
|
||||
+ unsigned long flags;
|
||||
+
|
||||
+ spin_lock_irqsave(&fintek->fintek_lock, flags);
|
||||
+ fintek->in_use = true;
|
||||
+ fintek_enable_cir(fintek);
|
||||
+ spin_unlock_irqrestore(&fintek->fintek_lock, flags);
|
||||
+
|
||||
@ -451,7 +547,6 @@ index 0000000..ae275ec
|
||||
+ unsigned long flags;
|
||||
+
|
||||
+ spin_lock_irqsave(&fintek->fintek_lock, flags);
|
||||
+ fintek->in_use = false;
|
||||
+ fintek_disable_cir(fintek);
|
||||
+ spin_unlock_irqrestore(&fintek->fintek_lock, flags);
|
||||
+}
|
||||
@ -480,7 +575,7 @@ index 0000000..ae275ec
|
||||
+ }
|
||||
+
|
||||
+ if (!pnp_irq_valid(pdev, 0)) {
|
||||
+ dev_err(&pdev->dev, "PNP IRQ not valid!\n");
|
||||
+ dev_err(&pdev->dev, "IR PNP IRQ not valid!\n");
|
||||
+ goto failure;
|
||||
+ }
|
||||
+
|
||||
@ -492,7 +587,6 @@ index 0000000..ae275ec
|
||||
+ fintek->cr_dp = CR_DATA_PORT;
|
||||
+
|
||||
+ spin_lock_init(&fintek->fintek_lock);
|
||||
+ init_ir_raw_event(&fintek->rawir);
|
||||
+
|
||||
+ ret = -EBUSY;
|
||||
+ /* now claim resources */
|
||||
@ -569,8 +663,8 @@ index 0000000..ae275ec
|
||||
+
|
||||
+ spin_lock_irqsave(&fintek->fintek_lock, flags);
|
||||
+ /* disable CIR */
|
||||
+ fintek_cir_reg_write(fintek, 0, CIR_STATUS);
|
||||
+ fintek_disable_cir(fintek);
|
||||
+ fintek_cir_reg_write(fintek, CIR_STATUS_IRQ_MASK, CIR_STATUS);
|
||||
+ /* enable CIR Wake (for IR power-on) */
|
||||
+ fintek_enable_wake(fintek);
|
||||
+ spin_unlock_irqrestore(&fintek->fintek_lock, flags);
|
||||
@ -591,7 +685,7 @@ index 0000000..ae275ec
|
||||
+ fit_dbg("%s called", __func__);
|
||||
+
|
||||
+ /* disable all CIR interrupts */
|
||||
+ fintek_cir_reg_write(fintek, 0, CIR_STATUS);
|
||||
+ fintek_cir_reg_write(fintek, CIR_STATUS_IRQ_MASK, CIR_STATUS);
|
||||
+
|
||||
+ fintek_config_mode_enable(fintek);
|
||||
+
|
||||
@ -674,10 +768,10 @@ index 0000000..ae275ec
|
||||
+module_exit(fintek_exit);
|
||||
diff --git a/drivers/media/rc/fintek-cir.h b/drivers/media/rc/fintek-cir.h
|
||||
new file mode 100644
|
||||
index 0000000..790c502
|
||||
index 0000000..1b10b20
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/rc/fintek-cir.h
|
||||
@@ -0,0 +1,224 @@
|
||||
@@ -0,0 +1,243 @@
|
||||
+/*
|
||||
+ * Driver for Feature Integration Technology Inc. (aka Fintek) LPC CIR
|
||||
+ *
|
||||
@ -740,10 +834,8 @@ index 0000000..790c502
|
||||
+struct fintek_dev {
|
||||
+ struct pnp_dev *pdev;
|
||||
+ struct rc_dev *rdev;
|
||||
+ struct ir_raw_event rawir;
|
||||
+
|
||||
+ spinlock_t fintek_lock;
|
||||
+ bool in_use;
|
||||
+
|
||||
+ /* for rx */
|
||||
+ u8 buf[RX_BUF_LEN];
|
||||
@ -779,15 +871,36 @@ index 0000000..790c502
|
||||
+ bool learning_enabled;
|
||||
+ bool carrier_detect_enabled;
|
||||
+
|
||||
+ enum {
|
||||
+ CMD_HEADER = 0,
|
||||
+ SUBCMD,
|
||||
+ CMD_DATA,
|
||||
+ PARSE_IRDATA,
|
||||
+ } parser_state;
|
||||
+
|
||||
+ u8 cmd, rem;
|
||||
+
|
||||
+ /* carrier period = 1 / frequency */
|
||||
+ u32 carrier;
|
||||
+};
|
||||
+
|
||||
+/* buffer packet constants */
|
||||
+/* buffer packet constants, largely identical to mceusb.c */
|
||||
+#define BUF_PULSE_BIT 0x80
|
||||
+#define BUF_LEN_MASK 0x7f
|
||||
+#define BUF_REPEAT_BYTE 0x70
|
||||
+#define BUF_REPEAT_MASK 0xf0
|
||||
+#define BUF_LEN_MASK 0x1f
|
||||
+#define BUF_SAMPLE_MASK 0x7f
|
||||
+
|
||||
+#define BUF_COMMAND_HEADER 0x9f
|
||||
+#define BUF_COMMAND_MASK 0xe0
|
||||
+#define BUF_COMMAND_NULL 0x00
|
||||
+#define BUF_HW_CMD_HEADER 0xff
|
||||
+#define BUF_CMD_G_REVISION 0x0b
|
||||
+#define BUF_CMD_S_CARRIER 0x06
|
||||
+#define BUF_CMD_S_TIMEOUT 0x0c
|
||||
+#define BUF_CMD_SIG_END 0x01
|
||||
+#define BUF_CMD_S_TXMASK 0x08
|
||||
+#define BUF_CMD_S_RXSENSOR 0x14
|
||||
+#define BUF_RSP_PULSE_COUNT 0x15
|
||||
+
|
||||
+#define CIR_SAMPLE_PERIOD 50
|
||||
+
|
||||
+/*
|
||||
@ -795,12 +908,12 @@ index 0000000..790c502
|
||||
+ * Index Port
|
||||
+ * Data Port
|
||||
+ */
|
||||
+#define CR_INDEX_PORT 0x4e
|
||||
+#define CR_DATA_PORT 0x4f
|
||||
+#define CR_INDEX_PORT 0x2e
|
||||
+#define CR_DATA_PORT 0x2f
|
||||
+
|
||||
+/* Possible alternate values, depends on how the chip is wired */
|
||||
+#define CR_INDEX_PORT2 0x2e
|
||||
+#define CR_DATA_PORT2 0x2f
|
||||
+#define CR_INDEX_PORT2 0x4e
|
||||
+#define CR_DATA_PORT2 0x4f
|
||||
+
|
||||
+/*
|
||||
+ * GCR_CONFIG_PORT_SEL bit 4 specifies which Index Port value is
|
||||
@ -902,3 +1015,6 @@ index 0000000..790c502
|
||||
+#define CIR_TX_CONTROL_TX_START 0x80
|
||||
+#define CIR_TX_CONTROL_TX_END 0x40
|
||||
+
|
||||
--
|
||||
1.7.1
|
||||
|
@ -33,6 +33,9 @@ if $(cat /proc/bus/input/devices | grep Vendor=0471 | grep -q Product=20d9);then
|
||||
export SDL_MOUSE_RELATIVE=0
|
||||
fi
|
||||
|
||||
# hack: make addon-bins executable
|
||||
chmod +x /storage/.xbmc/addons/*/bin/* > /dev/null 2>&1
|
||||
|
||||
# starting autostart script (will be removed later again, dont use it!!!)
|
||||
AUTOSTART="/storage/.config/autostart.sh"
|
||||
if [ -f $AUTOSTART ]; then
|
||||
|
@ -25,4 +25,9 @@
|
||||
|
||||
PATH="/bin:/sbin:/usr/bin:/usr/sbin"
|
||||
|
||||
# hack: add addons to $PATH
|
||||
for i in `find /storage/.xbmc/addons/* -name bin -type d`; do
|
||||
PATH="$PATH:$i"
|
||||
done
|
||||
|
||||
export PATH
|
||||
|
@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="xz"
|
||||
PKG_VERSION="5.0.2"
|
||||
PKG_VERSION="5.0.3"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="xf86-video-nvidia"
|
||||
PKG_VERSION="275.09"
|
||||
PKG_VERSION="270.41.19"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="i386 x86_64"
|
||||
PKG_LICENSE="nonfree"
|
||||
|
Loading…
x
Reference in New Issue
Block a user