On Sat, Jul 29, 2017 at 12:24:45PM +0100, Sean Young wrote: > > From: Anton Blanchard <anton@xxxxxxxxx> > Subject: [PATCH] [media] ir-spi: Fix issues with lirc API > > The ir-spi driver has 2 issues which prevents it from working with > lirc: > > 1. The ir-spi driver uses 16 bits of SPI data to create one cycle of > the waveform. As such our SPI clock needs to be 16x faster than the > carrier frequency. > > The driver is inconsistent in how it currently handles this. It > initializes it to the carrier frequency: > > But the commit message has some example code which initialises it > to 16x the carrier frequency: > > val = 608000; > ret = ioctl(fd, LIRC_SET_SEND_CARRIER, &val); > > To maintain compatibility with lirc, always do the frequency adjustment > in the driver. > > 2. lirc presents pulses in microseconds, but the ir-spi driver treats > them as cycles of the carrier. Similar to other lirc drivers, do the > conversion with DIV_ROUND_CLOSEST(). > > Fixes: fe052da49201 ("[media] rc: add support for IR LEDs driven through SPI") > > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> > Signed-off-by: Sean Young <sean@xxxxxxxx> > Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxxx> > --- > drivers/media/rc/ir-spi.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) Thanks for the backport. greg k-h