ldisc: new dcd_change() method for line disciplines
authorRodolfo Giometti <giometti@linux.it>
Wed, 10 Mar 2010 23:23:45 +0000 (15:23 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 12 Mar 2010 23:52:43 +0000 (15:52 -0800)
Signed-off-by: Rodolfo Giometti <giometti@linux.it>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Greg KH <greg@kroah.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Alexander Gordeev <lasaine@lvk.cs.msu.su>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Documentation/serial/tty.txt
include/linux/tty_ldisc.h

index 5e5349a4fcd281b2450415d7d668456aedd34b4b..7c900507279f97ad6e7da100082f44feefb53992 100644 (file)
@@ -105,6 +105,10 @@ write_wakeup()     -       May be called at any point between open and close.
                        is permitted to call the driver write method from
                        this function. In such a situation defer it.
 
+dcd_change()   -       Report to the tty line the current DCD pin status
+                       changes and the relative timestamp. The timestamp
+                       can be NULL.
+
 
 Driver Access
 
index 0c4ee9b88f8551d51c308840a7f3c7ba7fb83d13..526d66f066a349432444ab7b5a5b1ad27c3cf0c1 100644 (file)
  *     cease I/O to the tty driver. Can sleep. The driver should
  *     seek to perform this action quickly but should wait until
  *     any pending driver I/O is completed.
+ *
+ * void (*dcd_change)(struct tty_struct *tty, unsigned int status,
+ *                     struct timespec *ts)
+ *
+ *     Tells the discipline that the DCD pin has changed its status and
+ *     the relative timestamp. Pointer ts can be NULL.
  */
 
 #include <linux/fs.h>
@@ -136,6 +142,8 @@ struct tty_ldisc_ops {
        void    (*receive_buf)(struct tty_struct *, const unsigned char *cp,
                               char *fp, int count);
        void    (*write_wakeup)(struct tty_struct *);
+       void    (*dcd_change)(struct tty_struct *, unsigned int,
+                               struct timespec *);
 
        struct  module *owner;