[PATCH v2 0/5] Linux's serdev framwork port

Andrey Smirnov andrew.smirnov at gmail.com
Thu Apr 12 14:33:12 PDT 2018


Hi everyone:

In an effort to bring this kernel driver
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/mfd/rave-sp.c?h=v4.16-rc7
to Barebox, I ended up creating a miniature and extremely simplified
version of 'serdev' subsystem which is presented in this patchset.

Changes since [v1]:

	- Blocking read function was added as example of API usage

	- "serial: Check result of console_unregister()" was converted
          to become "serial: Drop .remove functions from all drivers"

	- Minor spelling fixes

	- Original serdev framework patch modified to allow devices
          that do not require polling (I don't have such a usecase,
          but for the sake of being generic I added one line needed
          for that)

	- SERIAL_DEV_BUS Kconfig symbol moved into
          drivers/serial/Kconfig (where it, IMHO, fits much better)

	- Added a patch to dynamically adjust serdev's polling
          interval via device paramter. This was warranted by the
          problems that arose from real-life usage.

Feedback is wellcome!

Thanks,
Andrey Smirnov

[v1] https://www.spinics.net/lists/u-boot-v2/msg32322.html

Andrey Smirnov (5):
  console: Introduce console_drain()
  console: Add simplified 'serdev' framework from Linux kernel
  serdev: Add trivial blocking read function
  serial: Drop .remove functions from all drivers
  serdev: Allow polling interval to be adjusted at runtime

 common/Makefile                  |   1 +
 common/console.c                 |  24 ++++-
 common/serdev.c                  | 208 +++++++++++++++++++++++++++++++++++++++
 drivers/serial/Kconfig           |   6 ++
 drivers/serial/serial_auart.c    |  11 ---
 drivers/serial/serial_cadence.c  |   9 --
 drivers/serial/serial_clps711x.c |  10 --
 drivers/serial/serial_imx.c      |  10 --
 drivers/serial/serial_lpuart.c   |  13 ---
 drivers/serial/serial_pxa.c      |   9 --
 drivers/serial/serial_s3c.c      |  10 --
 drivers/serial/stm-serial.c      |  10 --
 include/console.h                | 110 +++++++++++++++++++++
 include/serdev.h                 |  44 +++++++++
 lib/xymodem.c                    |  30 +-----
 15 files changed, 395 insertions(+), 110 deletions(-)
 create mode 100644 common/serdev.c
 create mode 100644 include/serdev.h

-- 
2.14.3




More information about the barebox mailing list