[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180422135142.250357476@linuxfoundation.org>
Date: Sun, 22 Apr 2018 15:53:49 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-kernel@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
stable@...r.kernel.org, Warren Sturm <warren.sturm@...il.com>,
Sean Young <sean@...s.org>
Subject: [PATCH 4.14 162/164] Revert "media: lirc_zilog: driver only sends LIRCCODE"
4.14-stable review patch. If anyone has any objections, please let me know.
------------------
From: Sean Young <sean@...s.org>
[not upstream as the driver is deleted in 4.16 - gregkh]
The lirc config documented here
https://www.blushingpenguin.com/mark/blog/?p=24 uses raw_codes for sending
IR. Each key only has one pulse, which in fact is an index into the
haup-ir-blaster.bin file. Changing the driver to LIRCCODE (although more
accurate) breaks this configuration.
This code has been replaced completely in kernel v4.16 by a new driver,
see commit acaa34bf06e9 ("media: rc: implement zilog transmitter"), and
commit f95367a7b758 ("media: staging: remove lirc_zilog driver").
This reverts commit 89d8a2cc51d1f29ea24a0b44dde13253141190a0.
Fixes: 615cd3fe6ccc ("[media] media: lirc_dev: make better use of file->private_data")
Cc: stable@...r.kernel.org # v4.14-v4.15
Reported-by: Warren Sturm <warren.sturm@...il.com>
Tested-by: Warren Sturm <warren.sturm@...il.com>
Signed-off-by: Sean Young <sean@...s.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
---
drivers/staging/media/lirc/lirc_zilog.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
--- a/drivers/staging/media/lirc/lirc_zilog.c
+++ b/drivers/staging/media/lirc/lirc_zilog.c
@@ -288,7 +288,7 @@ static void release_ir_tx(struct kref *r
struct IR_tx *tx = container_of(ref, struct IR_tx, ref);
struct IR *ir = tx->ir;
- ir->l.features &= ~LIRC_CAN_SEND_LIRCCODE;
+ ir->l.features &= ~LIRC_CAN_SEND_PULSE;
/* Don't put_ir_device(tx->ir) here, so our lock doesn't get freed */
ir->tx = NULL;
kfree(tx);
@@ -1267,14 +1267,14 @@ static long ioctl(struct file *filep, un
if (!(features & LIRC_CAN_SEND_MASK))
return -ENOTTY;
- result = put_user(LIRC_MODE_LIRCCODE, uptr);
+ result = put_user(LIRC_MODE_PULSE, uptr);
break;
case LIRC_SET_SEND_MODE:
if (!(features & LIRC_CAN_SEND_MASK))
return -ENOTTY;
result = get_user(mode, uptr);
- if (!result && mode != LIRC_MODE_LIRCCODE)
+ if (!result && mode != LIRC_MODE_PULSE)
return -EINVAL;
break;
default:
@@ -1512,7 +1512,7 @@ static int ir_probe(struct i2c_client *c
kref_init(&tx->ref);
ir->tx = tx;
- ir->l.features |= LIRC_CAN_SEND_LIRCCODE;
+ ir->l.features |= LIRC_CAN_SEND_PULSE;
mutex_init(&tx->client_lock);
tx->c = client;
tx->need_boot = 1;
Powered by blists - more mailing lists