Revert "media: lirc_zilog: driver only sends LIRCCODE"
[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@vger.kernel.org # v4.14-v4.15 Reported-by: Warren Sturm <warren.sturm@gmail.com> Tested-by: Warren Sturm <warren.sturm@gmail.com> Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
8caa4c5fde
commit
e7a08ffb2d
@ -288,7 +288,7 @@ static void release_ir_tx(struct kref *ref)
|
||||
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, unsigned int cmd, unsigned long arg)
|
||||
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 *client, const struct i2c_device_id *id)
|
||||
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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user