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 35bbc18..076c078 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 31f1723..3062644 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:
        {