History

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.

Greg Kroah-Hartman committed 4 years ago

Commit 99a507a1 parent 5acb78d3 files · +0 −82Browse files

Unified · Split

3 files
  1. drivers/tty/serdev/core.c +0 −11
  2. drivers/tty/serdev/serdev-ttyport.c +0 −49
  3. include/linux/serdev.h +0 −22
drivers/tty/serdev/core.c+0−11
@@ -349,17 +349,6 @@ unsigned int serdev_device_set_baudrate(struct serdev_device *serdev, unsigned i · 348 unmodified lines
349349 }
350350 EXPORT_SYMBOL_GPL(serdev_device_set_baudrate);
351351
352−void serdev_device_set_error_mask(struct serdev_device *serdev, unsigned long mask)
353−{
354− struct serdev_controller *ctrl = serdev->ctrl;
355−
356− if (!ctrl || !ctrl->ops->set_error_mask)
357− return;
358−
359− ctrl->ops->set_error_mask(ctrl, mask);
360−}
361−EXPORT_SYMBOL_GPL(serdev_device_set_error_mask);
362−
363352 void serdev_device_set_flow_control(struct serdev_device *serdev, bool enable)
364353 {
365354 struct serdev_controller *ctrl = serdev->ctrl;
drivers/tty/serdev/serdev-ttyport.c+0−49
@@ -2,7 +2,6 @@ · 1 unmodified line
22 /*
33 * Copyright (C) 2016-2017 Linaro Ltd., Rob Herring <robh@kernel.org>
44 */
5−#include <linux/bits.h>
65 #include <linux/kernel.h>
76 #include <linux/serdev.h>
87 #include <linux/tty.h>
@@ -10,10 +9,6 @@ · 1 unmodified line
109 #include <linux/poll.h>
1110
1211 #define SERPORT_ACTIVE 1
13−#define SERPORT_NOTIFY_BREAK 2
14−#define SERPORT_NOTIFY_FRAME 3
15−#define SERPORT_NOTIFY_PARITY 4
16−#define SERPORT_NOTIFY_OVERRUN 5
1712
1813 struct serport {
1914 struct tty_port *port;
@@ -32,39 +27,11 @@ static int ttyport_receive_buf(struct tty_port *port, const unsigned char *cp, · 12 unmodified lines
3227 {
3328 struct serdev_controller *ctrl = port->client_data;
3429 struct serport *serport = serdev_controller_get_drvdata(ctrl);
35− unsigned long errors = 0;
36− unsigned int i;
3730 int ret;
3831
3932 if (!test_bit(SERPORT_ACTIVE, &serport->flags))
4033 return 0;
4134
42− for (i = 0; fp && i < count; i++) {
43− switch (fp[i]) {
44− case TTY_BREAK:
45− if (test_bit(SERPORT_NOTIFY_BREAK, &serport->flags))
46− __set_bit(SERDEV_ERROR_BREAK, &errors);
47− break;
48−
49− case TTY_FRAME:
50− if (test_bit(SERPORT_NOTIFY_FRAME, &serport->flags))
51− __set_bit(SERDEV_ERROR_FRAME, &errors);
52− break;
53−
54− case TTY_PARITY:
55− if (test_bit(SERPORT_NOTIFY_PARITY, &serport->flags))
56− __set_bit(SERDEV_ERROR_PARITY, &errors);
57− break;
58−
59− case TTY_OVERRUN:
60− if (test_bit(SERPORT_NOTIFY_OVERRUN, &serport->flags))
61− __set_bit(SERDEV_ERROR_OVERRUN, &errors);
62− break;
63− }
64− }
65− if (errors)
66− serdev_controller_error(ctrl, errors);
67−
6835 ret = serdev_controller_receive_buf(ctrl, cp, count);
6936
7037 dev_WARN_ONCE(&ctrl->dev, ret < 0 || ret > count,
@@ -213,21 +180,6 @@ static unsigned int ttyport_set_baudrate(struct serdev_controller *ctrl, unsigne · 142 unmodified lines
213180 return ktermios.c_ospeed;
214181 }
215182
216−static void ttyport_set_error_mask(struct serdev_controller *ctrl,
217− unsigned long m)
218−{
219− struct serport *sp = serdev_controller_get_drvdata(ctrl);
220−
221− assign_bit(SERPORT_NOTIFY_BREAK, &sp->flags,
222− m & BIT(SERDEV_ERROR_BREAK));
223− assign_bit(SERPORT_NOTIFY_FRAME, &sp->flags,
224− m & BIT(SERDEV_ERROR_FRAME));
225− assign_bit(SERPORT_NOTIFY_PARITY, &sp->flags,
226− m & BIT(SERDEV_ERROR_PARITY));
227− assign_bit(SERPORT_NOTIFY_OVERRUN, &sp->flags,
228− m & BIT(SERDEV_ERROR_OVERRUN));
229−}
230−
231183 static void ttyport_set_flow_control(struct serdev_controller *ctrl, bool enable)
232184 {
233185 struct serport *serport = serdev_controller_get_drvdata(ctrl);
@@ -301,7 +253,6 @@ static const struct serdev_controller_ops ctrl_ops = { · 67 unmodified lines
301253 .write_room = ttyport_write_room,
302254 .open = ttyport_open,
303255 .close = ttyport_close,
304− .set_error_mask = ttyport_set_error_mask,
305256 .set_flow_control = ttyport_set_flow_control,
306257 .set_parity = ttyport_set_parity,
307258 .set_baudrate = ttyport_set_baudrate,
include/linux/serdev.h+0−22
@@ -19,15 +19,12 @@ struct serdev_device; · 18 unmodified lines
1919
2020 /**
2121 * struct serdev_device_ops - Callback operations for a serdev device
22− * @error: Function called with errors received from device;
23− * may sleep.
2422 * @receive_buf: Function called with data received from device;
2523 * returns number of bytes accepted; may sleep.
2624 * @write_wakeup: Function called when ready to transmit more data; must
2725 * not sleep.
2826 */
2927 struct serdev_device_ops {
30− void (*error)(struct serdev_device *, unsigned long);
3128 int (*receive_buf)(struct serdev_device *, const unsigned char *, size_t);
3229 void (*write_wakeup)(struct serdev_device *);
3330 };
@@ -79,11 +76,6 @@ enum serdev_parity { · 45 unmodified lines
7976 SERDEV_PARITY_ODD,
8077 };
8178
82−#define SERDEV_ERROR_BREAK 0
83−#define SERDEV_ERROR_FRAME 1
84−#define SERDEV_ERROR_PARITY 2
85−#define SERDEV_ERROR_OVERRUN 3
86−
8779 /*
8880 * serdev controller structures
8981 */
@@ -93,7 +85,6 @@ struct serdev_controller_ops { · 3 unmodified lines
9385 int (*write_room)(struct serdev_controller *);
9486 int (*open)(struct serdev_controller *);
9587 void (*close)(struct serdev_controller *);
96− void (*set_error_mask)(struct serdev_controller *, unsigned long);
9788 void (*set_flow_control)(struct serdev_controller *, bool);
9889 int (*set_parity)(struct serdev_controller *, enum serdev_parity);
9990 unsigned int (*set_baudrate)(struct serdev_controller *, unsigned int);
@@ -199,24 +190,12 @@ static inline int serdev_controller_receive_buf(struct serdev_controller *ctrl, · 99 unmodified lines
199190 return serdev->ops->receive_buf(serdev, data, count);
200191 }
201192
202−static inline void serdev_controller_error(struct serdev_controller *ctrl,
203− unsigned long errors)
204−{
205− struct serdev_device *serdev = ctrl->serdev;
206−
207− if (!serdev || !serdev->ops->error)
208− return;
209−
210− serdev->ops->error(serdev, errors);
211−}
212−
213193 #if IS_ENABLED(CONFIG_SERIAL_DEV_BUS)
214194
215195 int serdev_device_open(struct serdev_device *);
216196 void serdev_device_close(struct serdev_device *);
217197 int devm_serdev_device_open(struct device *, struct serdev_device *);
218198 unsigned int serdev_device_set_baudrate(struct serdev_device *, unsigned int);
219−void serdev_device_set_error_mask(struct serdev_device *, unsigned long);
220199 void serdev_device_set_flow_control(struct serdev_device *, bool);
221200 int serdev_device_write_buf(struct serdev_device *, const unsigned char *, size_t);
222201 void serdev_device_wait_until_sent(struct serdev_device *, long);
@@ -259,7 +238,6 @@ static inline unsigned int serdev_device_set_baudrate(struct serdev_device *sdev · 36 unmodified lines
259238 {
260239 return 0;
261240 }
262−static inline void serdev_device_set_error_mask(struct serdev_device *sdev, unsigned long mask) {}
263241 static inline void serdev_device_set_flow_control(struct serdev_device *sdev, bool enable) {}
264242 static inline int serdev_device_write_buf(struct serdev_device *serdev,
265243 const unsigned char *buf,

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t