From b649d5e644fa13001f07576f4653af7d854a804a Mon Sep 17 00:00:00 2001 From: Sean Young Date: Wed, 8 Feb 2017 20:48:17 -0200 Subject: [PATCH] UPSTREAM: [media] lirc: advertise LIRC_CAN_GET_REC_RESOLUTION and improve This feature was never set. The ioctl should fail if no resolution is set. Signed-off-by: Sean Young Signed-off-by: Mauro Carvalho Chehab (cherry picked from commit e8f4818895b3d7f34b3e5852bce77b3257a27ecc) Signed-off-by: Ziyuan Xu Conflicts: drivers/media/rc/ir-lirc-codec.c --- drivers/media/rc/ir-lirc-codec.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/media/rc/ir-lirc-codec.c b/drivers/media/rc/ir-lirc-codec.c index 053da7687264..f18b2bff5bc5 100644 --- a/drivers/media/rc/ir-lirc-codec.c +++ b/drivers/media/rc/ir-lirc-codec.c @@ -263,7 +263,10 @@ static long ir_lirc_ioctl(struct file *filep, unsigned int cmd, return 0; case LIRC_GET_REC_RESOLUTION: - val = dev->rx_resolution / 1000; + if (!dev->rx_resolution) + return -ENOTTY; + + val = dev->rx_resolution; break; case LIRC_SET_WIDEBAND_RECEIVER: @@ -370,8 +373,11 @@ static int ir_lirc_register(struct rc_dev *dev) if (rc) goto rbuf_init_failed; - if (dev->driver_type != RC_DRIVER_IR_RAW_TX) + if (dev->driver_type != RC_DRIVER_IR_RAW_TX) { features |= LIRC_CAN_REC_MODE2; + if (dev->rx_resolution) + features |= LIRC_CAN_GET_REC_RESOLUTION; + } if (dev->tx_ir) { features |= LIRC_CAN_SEND_PULSE; if (dev->s_tx_mask)