Merge tag 'tty-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
[linux-2.6-block.git] / include / linux / serdev.h
index 48d8ce26ad18b32c8d9ccda0b6977e59f787b3e2..f153b2c7f0cd65610906f15c083643fba54e527f 100644 (file)
@@ -78,6 +78,12 @@ static inline struct serdev_device_driver *to_serdev_device_driver(struct device
        return container_of(d, struct serdev_device_driver, driver);
 }
 
+enum serdev_parity {
+       SERDEV_PARITY_NONE,
+       SERDEV_PARITY_EVEN,
+       SERDEV_PARITY_ODD,
+};
+
 /*
  * serdev controller structures
  */
@@ -88,6 +94,7 @@ struct serdev_controller_ops {
        int (*open)(struct serdev_controller *);
        void (*close)(struct serdev_controller *);
        void (*set_flow_control)(struct serdev_controller *, bool);
+       int (*set_parity)(struct serdev_controller *, enum serdev_parity);
        unsigned int (*set_baudrate)(struct serdev_controller *, unsigned int);
        void (*wait_until_sent)(struct serdev_controller *, long);
        int (*get_tiocm)(struct serdev_controller *);
@@ -301,6 +308,9 @@ static inline int serdev_device_set_rts(struct serdev_device *serdev, bool enabl
                return serdev_device_set_tiocm(serdev, 0, TIOCM_RTS);
 }
 
+int serdev_device_set_parity(struct serdev_device *serdev,
+                            enum serdev_parity parity);
+
 /*
  * serdev hooks into TTY core
  */