CRIS: ioctl for getting RS485 information
authorClaudio Scordino <claudio@evidence.eu.com>
Mon, 31 May 2010 08:19:09 +0000 (10:19 +0200)
committerJesper Nilsson <jesper.nilsson@axis.com>
Mon, 9 Aug 2010 12:10:32 +0000 (14:10 +0200)
Add ioctl to CRIS serial driver to get RS485 data from user-space.

Signed-off-by: Claudio Scordino <claudio@evidence.eu.com>
Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
arch/cris/include/asm/ioctls.h
drivers/serial/crisv10.c

index 35bbc181598a710477c1e81fc099d3662ca13d99..076c07824eb6f45199d975c585c6d24ea2db2025 100644 (file)
@@ -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
index 31f172397af35f82061adada0faed4fff7a529fc..30626440a062d272667204dc262c2def3dabc307 100644 (file)
@@ -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:
        {