Skip to content

Commit 99a507a

Browse files
committed
Revert "serdev: BREAK/FRAME/PARITY/OVERRUN notification prototype V2"
This reverts commit d8e9a40. It needs some future changes as pointed out by Johan and is not ready to be merged just yet. Reported-by: Johan Hovold <[email protected]> Cc: Magnus Damm <[email protected]> Link: https://lore.kernel.org/r/Yc7oZ/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 5acb78d commit 99a507a

File tree

3 files changed

+0
-82
lines changed

3 files changed

+0
-82
lines changed

drivers/tty/serdev/core.c

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -349,17 +349,6 @@ unsigned int serdev_device_set_baudrate(struct serdev_device *serdev, unsigned i
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

Lines changed: 0 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,13 @@
22
/*
33
* Copyright (C) 2016-2017 Linaro Ltd., Rob Herring <[email protected]>
44
*/
5-
#include <linux/bits.h>
65
#include <linux/kernel.h>
76
#include <linux/serdev.h>
87
#include <linux/tty.h>
98
#include <linux/tty_driver.h>
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,
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
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 = {
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

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,12 @@ struct serdev_device;
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 {
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 {
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,
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
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,

0 commit comments

Comments
 (0)