[PATCH tty-next 0/8] sc16is7xx: various fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Jakub Kicinski <kubakici@xxxxx>

Hi,

this is a mixed bag of small improvements and a slightly
bigger work to stop using blocking I/O in atomic sections.

I start off with 3 small patches which have been sitting in
my queue for quite a while.

Fourth patch create a real-time kworker which is used in next
patches to handle device configuration initiated in context
where the driver is not allowed to block.

Greg, this is on top of Rama's SPI patches for sc16is7xx.

Jon, I *think* I came up with a way to preserve the
.delay_rts_before_send behaviour that you need without the
mdelay() inside atomic context.  In the first patch I only
remove .delay_rts_after_send handling.  Patch #5 moves the
delay into thread context and changes it into sleep.  It
should still have the same effect, though, as TX cannot
progress while the thread is blocked.  I would appreciate
if you gave this patchset a go and see if it works for your
application.

Thanks, Kuba


Jakub Kicinski (8):
  sc16is7xx: remove RS-485 delay RTS handling
  sc16is7xx: add missing compatible strings
  sc16is7xx: use LSR_TEMT_BIT in .tx_empty()
  sc16is7xx: use kthread_worker for tx_work and irq
  sc16is7xx: move RTS delay to workqueue
  sc16is7xx: use kworker for md
  sc16is7xx: use kworker to update ier bits
  sc16is7xx: use kworker for rs485

 drivers/tty/serial/sc16is7xx.c | 223 +++++++++++++++++++++++++----------------
 1 file changed, 139 insertions(+), 84 deletions(-)

-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux