From f1d23ed8218ca5afaf178a6495253dbb7fc98f57 Mon Sep 17 00:00:00 2001 From: Claudio Scordino Date: Mon, 31 May 2010 10:19:09 +0200 Subject: [PATCH] CRIS: ioctl for getting RS485 information Add ioctl to CRIS serial driver to get RS485 data from user-space. Signed-off-by: Claudio Scordino Signed-off-by: Jesper Nilsson --- arch/cris/include/asm/ioctls.h | 1 + drivers/serial/crisv10.c | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/arch/cris/include/asm/ioctls.h b/arch/cris/include/asm/ioctls.h index 35bbc181598a..076c07824eb6 100644 --- a/arch/cris/include/asm/ioctls.h +++ b/arch/cris/include/asm/ioctls.h @@ -77,6 +77,7 @@ #define TIOCSERSETRS485 0x5461 /* enable rs-485 (deprecated) */ #define TIOCSERWRRS485 0x5462 /* write rs-485 */ #define TIOCSRS485 0x5463 /* enable rs-485 */ +#define TIOCGRS485 0x542E /* get rs-485 */ /* Used for packet mode */ #define TIOCPKT_DATA 0 diff --git a/drivers/serial/crisv10.c b/drivers/serial/crisv10.c index 31f172397af3..30626440a062 100644 --- a/drivers/serial/crisv10.c +++ b/drivers/serial/crisv10.c @@ -3724,6 +3724,17 @@ rs_ioctl(struct tty_struct *tty, struct file * file, return e100_enable_rs485(tty, &rs485data); } + case TIOCGRS485: + { + struct serial_rs485 *rs485data = + &(((struct e100_serial *)tty->driver_data)->rs485); + /* This is the ioctl to get RS485 data from user-space */ + if (copy_to_user((struct serial_rs485 *) arg, + rs485data, + sizeof(serial_rs485))) + return -EFAULT; + break; + } case TIOCSERWRRS485: { -- 2.39.2