diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c index 23a7ab0de444..acbb47c640bf 100644 --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c @@ -3464,10 +3464,10 @@ EXPORT_SYMBOL_GPL(uart_get_rs485_mode); /* Compile-time assertions for serial_rs485 layout */ static_assert(offsetof(struct serial_rs485, padding) == - (offsetof(struct serial_rs485, delay_rts_after_send) + sizeof(__u32))); + (offsetof(struct serial_rs485, delay_rts_after_send_ns) + sizeof(__u32))); static_assert(offsetof(struct serial_rs485, padding1) == offsetof(struct serial_rs485, padding[1])); -static_assert((offsetof(struct serial_rs485, padding[4]) + sizeof(__u32)) == +static_assert((offsetof(struct serial_rs485, padding[2]) + sizeof(__u32)) == sizeof(struct serial_rs485)); MODULE_DESCRIPTION("Serial driver core"); diff --git a/include/uapi/linux/serial.h b/include/uapi/linux/serial.h index cea06924b295..faa8828efd6a 100644 --- a/include/uapi/linux/serial.h +++ b/include/uapi/linux/serial.h @@ -134,16 +134,18 @@ struct serial_rs485 { __u32 delay_rts_before_send; /* Delay before send (milliseconds) */ __u32 delay_rts_after_send; /* Delay after send (milliseconds) */ + __u32 delay_rts_before_send_ns; /* Delay before send (nanoseconds) */ + __u32 delay_rts_after_send_ns; /* Delay after send (nanoseconds) */ /* The fields below are defined by flags */ union { - __u32 padding[5]; /* Memory is cheap, new structs are a pain */ + __u32 padding[3]; /* Memory is cheap, new structs are a pain */ struct { __u8 addr_recv; __u8 addr_dest; __u8 padding0[2]; - __u32 padding1[4]; + __u32 padding1[2]; }; }; };