Commit 74747dda authored by Sean Young's avatar Sean Young Committed by Mauro Carvalho Chehab
Browse files

media: lirc: always send timeout reports



Without timeout reports, it is impossible to decode many protocols since
it is not known when the transmission ends. timeout reports are sent by
default, but can be turned off. There is no reason to turn them off, and
I cannot find any software which does this, so we can safely remove it.

This makes the ioctl LIRC_SET_REC_TIMEOUT_REPORTS a no-op.

Signed-off-by: default avatarSean Young <sean@mess.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent 9b4d7b5c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ ignore define LIRC_CAN_SET_REC_DUTY_CYCLE
# Obsolete ioctls

ignore ioctl LIRC_GET_LENGTH
ignore ioctl LIRC_SET_REC_TIMEOUT_REPORTS

# rc protocols

@@ -73,6 +74,7 @@ ignore define PULSE_MASK

ignore define LIRC_MODE2_SPACE
ignore define LIRC_MODE2_PULSE
ignore define LIRC_MODE2_TIMEOUT

ignore define LIRC_VALUE_MASK
ignore define LIRC_MODE2_MASK
+3 −5
Original line number Diff line number Diff line
@@ -117,11 +117,9 @@ on the following table.

    ``LIRC_MODE2_TIMEOUT``

        If timeout reports are enabled with
        :ref:`lirc_set_rec_timeout_reports`, when the timeout set with
        :ref:`lirc_set_rec_timeout` expires due to no IR being detected,
        this packet will be sent, with the number of microseconds with
        no IR.
        When the timeout set with :ref:`lirc_set_rec_timeout` expires due
        to no IR being detected, this packet will be sent, with the number
        of microseconds with no IR.

.. _lirc-mode-pulse:

+0 −1
Original line number Diff line number Diff line
@@ -22,6 +22,5 @@ LIRC Function Reference
    lirc-set-rec-carrier-range
    lirc-set-send-carrier
    lirc-set-transmitter-mask
    lirc-set-rec-timeout-reports
    lirc-set-measure-carrier-mode
    lirc-set-wideband-receiver
+0 −49
Original line number Diff line number Diff line
.. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
.. c:namespace:: RC

.. _lirc_set_rec_timeout_reports:

**********************************
ioctl LIRC_SET_REC_TIMEOUT_REPORTS
**********************************

Name
====

LIRC_SET_REC_TIMEOUT_REPORTS - enable or disable timeout reports for IR receive

Synopsis
========

.. c:macro:: LIRC_SET_REC_TIMEOUT_REPORTS

``int ioctl(int fd, LIRC_SET_REC_TIMEOUT_REPORTS, __u32 *enable)``

Arguments
=========

``fd``
    File descriptor returned by open().

``enable``
    enable = 1 means enable timeout report, enable = 0 means disable timeout
    reports.

Description
===========

.. _lirc-mode2-timeout:

Enable or disable timeout reports for IR receive. By default, timeout reports
should be turned off.

.. note::

   This ioctl is only valid for :ref:`LIRC_MODE_MODE2 <lirc-mode-mode2>`.

Return Value
============

On success 0 is returned, on error -1 and the ``errno`` variable is set
appropriately. The generic error codes are described at the
:ref:`Generic Error Codes <gen-errors>` chapter.
+0 −5
Original line number Diff line number Diff line
@@ -102,8 +102,6 @@ void lirc_raw_event(struct rc_dev *dev, struct ir_raw_event ev)

	spin_lock_irqsave(&dev->lirc_fh_lock, flags);
	list_for_each_entry(fh, &dev->lirc_fh, list) {
		if (LIRC_IS_TIMEOUT(sample) && !fh->send_timeout_reports)
			continue;
		if (kfifo_put(&fh->rawir, sample))
			wake_up_poll(&fh->wait_poll, EPOLLIN | EPOLLRDNORM);
	}
@@ -166,7 +164,6 @@ static int lirc_open(struct inode *inode, struct file *file)

	fh->send_mode = LIRC_MODE_PULSE;
	fh->rc = dev;
	fh->send_timeout_reports = true;

	if (dev->driver_type == RC_DRIVER_SCANCODE)
		fh->rec_mode = LIRC_MODE_SCANCODE;
@@ -570,8 +567,6 @@ static long lirc_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
	case LIRC_SET_REC_TIMEOUT_REPORTS:
		if (dev->driver_type != RC_DRIVER_IR_RAW)
			ret = -ENOTTY;
		else
			fh->send_timeout_reports = !!val;
		break;

	default:
Loading