diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-12-31 13:42:30 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-12-31 13:42:30 +0100 |
commit | 99a507a8ea28542ec196e2dd80096708e2482735 (patch) | |
tree | 63c920fb965cc9fb8c041886fc6d5b54ad3a584b /drivers/tty | |
parent | 5acb78dc72b48bc44226a86368fb442800981a0c (diff) |
Revert "serdev: BREAK/FRAME/PARITY/OVERRUN notification prototype V2"
This reverts commit d8e9a406a931f687945703a4bac45042eb81ce92.
It needs some future changes as pointed out by Johan and is not ready to
be merged just yet.
Reported-by: Johan Hovold <johan@kernel.org>
Cc: Magnus Damm <damm+renesas@opensource.se>
Link: https://lore.kernel.org/r/Yc7oZ/1tu95Z4wPS@hovoldconsulting.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty')
-rw-r--r-- | drivers/tty/serdev/core.c | 11 | ||||
-rw-r--r-- | drivers/tty/serdev/serdev-ttyport.c | 49 |
2 files changed, 0 insertions, 60 deletions
diff --git a/drivers/tty/serdev/core.c b/drivers/tty/serdev/core.c index 5c25ae20e508..f1324fe99378 100644 --- a/drivers/tty/serdev/core.c +++ b/drivers/tty/serdev/core.c @@ -349,17 +349,6 @@ unsigned int serdev_device_set_baudrate(struct serdev_device *serdev, unsigned i } EXPORT_SYMBOL_GPL(serdev_device_set_baudrate); -void serdev_device_set_error_mask(struct serdev_device *serdev, unsigned long mask) -{ - struct serdev_controller *ctrl = serdev->ctrl; - - if (!ctrl || !ctrl->ops->set_error_mask) - return; - - ctrl->ops->set_error_mask(ctrl, mask); -} -EXPORT_SYMBOL_GPL(serdev_device_set_error_mask); - void serdev_device_set_flow_control(struct serdev_device *serdev, bool enable) { struct serdev_controller *ctrl = serdev->ctrl; diff --git a/drivers/tty/serdev/serdev-ttyport.c b/drivers/tty/serdev/serdev-ttyport.c index 239a1d5c66df..d367803e2044 100644 --- a/drivers/tty/serdev/serdev-ttyport.c +++ b/drivers/tty/serdev/serdev-ttyport.c @@ -2,7 +2,6 @@ /* * Copyright (C) 2016-2017 Linaro Ltd., Rob Herring <robh@kernel.org> */ -#include <linux/bits.h> #include <linux/kernel.h> #include <linux/serdev.h> #include <linux/tty.h> @@ -10,10 +9,6 @@ #include <linux/poll.h> #define SERPORT_ACTIVE 1 -#define SERPORT_NOTIFY_BREAK 2 -#define SERPORT_NOTIFY_FRAME 3 -#define SERPORT_NOTIFY_PARITY 4 -#define SERPORT_NOTIFY_OVERRUN 5 struct serport { struct tty_port *port; @@ -32,39 +27,11 @@ static int ttyport_receive_buf(struct tty_port *port, const unsigned char *cp, { struct serdev_controller *ctrl = port->client_data; struct serport *serport = serdev_controller_get_drvdata(ctrl); - unsigned long errors = 0; - unsigned int i; int ret; if (!test_bit(SERPORT_ACTIVE, &serport->flags)) return 0; - for (i = 0; fp && i < count; i++) { - switch (fp[i]) { - case TTY_BREAK: - if (test_bit(SERPORT_NOTIFY_BREAK, &serport->flags)) - __set_bit(SERDEV_ERROR_BREAK, &errors); - break; - - case TTY_FRAME: - if (test_bit(SERPORT_NOTIFY_FRAME, &serport->flags)) - __set_bit(SERDEV_ERROR_FRAME, &errors); - break; - - case TTY_PARITY: - if (test_bit(SERPORT_NOTIFY_PARITY, &serport->flags)) - __set_bit(SERDEV_ERROR_PARITY, &errors); - break; - - case TTY_OVERRUN: - if (test_bit(SERPORT_NOTIFY_OVERRUN, &serport->flags)) - __set_bit(SERDEV_ERROR_OVERRUN, &errors); - break; - } - } - if (errors) - serdev_controller_error(ctrl, errors); - ret = serdev_controller_receive_buf(ctrl, cp, count); dev_WARN_ONCE(&ctrl->dev, ret < 0 || ret > count, @@ -213,21 +180,6 @@ static unsigned int ttyport_set_baudrate(struct serdev_controller *ctrl, unsigne return ktermios.c_ospeed; } -static void ttyport_set_error_mask(struct serdev_controller *ctrl, - unsigned long m) -{ - struct serport *sp = serdev_controller_get_drvdata(ctrl); - - assign_bit(SERPORT_NOTIFY_BREAK, &sp->flags, - m & BIT(SERDEV_ERROR_BREAK)); - assign_bit(SERPORT_NOTIFY_FRAME, &sp->flags, - m & BIT(SERDEV_ERROR_FRAME)); - assign_bit(SERPORT_NOTIFY_PARITY, &sp->flags, - m & BIT(SERDEV_ERROR_PARITY)); - assign_bit(SERPORT_NOTIFY_OVERRUN, &sp->flags, - m & BIT(SERDEV_ERROR_OVERRUN)); -} - static void ttyport_set_flow_control(struct serdev_controller *ctrl, bool enable) { struct serport *serport = serdev_controller_get_drvdata(ctrl); @@ -301,7 +253,6 @@ static const struct serdev_controller_ops ctrl_ops = { .write_room = ttyport_write_room, .open = ttyport_open, .close = ttyport_close, - .set_error_mask = ttyport_set_error_mask, .set_flow_control = ttyport_set_flow_control, .set_parity = ttyport_set_parity, .set_baudrate = ttyport_set_baudrate, |