summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorBryan O'Donoghue <bryan.odonoghue@linaro.org>2015-06-29 18:09:15 +0100
committerGreg Kroah-Hartman <gregkh@google.com>2015-06-30 19:34:47 -0700
commitba4b099ca8e30b064d06bf9fc3f1a2bbcb8e1818 (patch)
tree5b04bdd966bacc028c2e68bf7d51d0e4ce1ea196 /drivers
parent4c025cf4168fe679b8a56eed210349458a142d07 (diff)
greybus: uart: Update UART to reflect field size changes
The greybus UART protocol specification was updated to reduce the size of the control field in serial-state-request and line-state-request. This patch updates the kernel protocol driver to reflect the specification changes. Once applied gbsim changes will be also be updated automatically since gbsim depends on the header being modified directly. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/staging/greybus/greybus_protocols.h4
-rw-r--r--drivers/staging/greybus/uart.c14
2 files changed, 9 insertions, 9 deletions
diff --git a/drivers/staging/greybus/greybus_protocols.h b/drivers/staging/greybus/greybus_protocols.h
index 44522b01ba32..6f8c15ea3900 100644
--- a/drivers/staging/greybus/greybus_protocols.h
+++ b/drivers/staging/greybus/greybus_protocols.h
@@ -641,7 +641,7 @@ struct gb_uart_set_line_coding_request {
#define GB_UART_CTRL_RTS 0x02
struct gb_uart_set_control_line_state_request {
- __le16 control;
+ __u8 control;
};
struct gb_uart_set_break_request {
@@ -654,7 +654,7 @@ struct gb_uart_set_break_request {
#define GB_UART_CTRL_RI 0x04
struct gb_uart_serial_state_request {
- __le16 control;
+ __u8 control;
};
/* SDIO */
diff --git a/drivers/staging/greybus/uart.c b/drivers/staging/greybus/uart.c
index 73e3c992e103..7abcd1c05bda 100644
--- a/drivers/staging/greybus/uart.c
+++ b/drivers/staging/greybus/uart.c
@@ -57,8 +57,8 @@ struct gb_tty {
struct mutex mutex;
u8 version_major;
u8 version_minor;
- unsigned int ctrlin; /* input control lines */
- unsigned int ctrlout; /* output control lines */
+ u8 ctrlin; /* input control lines */
+ u8 ctrlout; /* output control lines */
struct gb_tty_line_coding line_coding;
};
@@ -123,7 +123,7 @@ static int gb_uart_request_recv(u8 type, struct gb_operation *op)
break;
case GB_UART_TYPE_SERIAL_STATE:
serial_state = request->payload;
- gb_tty->ctrlin = le16_to_cpu(serial_state->control);
+ gb_tty->ctrlin = serial_state->control;
break;
default:
dev_err(&connection->dev,
@@ -165,11 +165,11 @@ static int send_line_coding(struct gb_tty *tty)
&request, sizeof(request), NULL, 0);
}
-static int send_control(struct gb_tty *gb_tty, u16 control)
+static int send_control(struct gb_tty *gb_tty, u8 control)
{
struct gb_uart_set_control_line_state_request request;
- request.control = cpu_to_le16(control);
+ request.control = control;
return gb_operation_sync(gb_tty->connection,
GB_UART_TYPE_SET_CONTROL_LINE_STATE,
&request, sizeof(request), NULL, 0);
@@ -314,7 +314,7 @@ static void gb_tty_set_termios(struct tty_struct *tty,
struct gb_tty *gb_tty = tty->driver_data;
struct ktermios *termios = &tty->termios;
struct gb_tty_line_coding newline;
- int newctrl = gb_tty->ctrlout;
+ u8 newctrl = gb_tty->ctrlout;
newline.rate = cpu_to_le32(tty_get_baud_rate(tty));
newline.format = termios->c_cflag & CSTOPB ?
@@ -376,7 +376,7 @@ static int gb_tty_tiocmset(struct tty_struct *tty, unsigned int set,
unsigned int clear)
{
struct gb_tty *gb_tty = tty->driver_data;
- unsigned int newctrl = gb_tty->ctrlout;
+ u8 newctrl = gb_tty->ctrlout;
set = (set & TIOCM_DTR ? GB_UART_CTRL_DTR : 0) |
(set & TIOCM_RTS ? GB_UART_CTRL_RTS : 0);