USB: serial: usb_wwan: replace DTR/RTS magic numbers with macros
authorYan Xinyu <sdlyyxy@bupt.edu.cn>
Mon, 25 Jul 2022 07:58:41 +0000 (09:58 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 25 Jul 2022 08:57:43 +0000 (10:57 +0200)
The usb_wwan_send_setup function generates DTR/RTS signals in compliance
with CDC ACM standard. This patch changes magic numbers in this function
to equivalent macros.

Link: https://lore.kernel.org/r/20220722085040.704885-1-sdlyyxy@bupt.edu.cn
[ johan: use the new CDC control-line defines ]
Signed-off-by: Yan Xinyu <sdlyyxy@bupt.edu.cn>
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20220725075841.1187-8-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/serial/usb_wwan.c

index dab38b6..6129a6e 100644 (file)
@@ -29,6 +29,7 @@
 #include <linux/bitops.h>
 #include <linux/uaccess.h>
 #include <linux/usb.h>
+#include <linux/usb/cdc.h>
 #include <linux/usb/serial.h>
 #include <linux/serial.h>
 #include "usb-wwan.h"
@@ -48,9 +49,9 @@ static int usb_wwan_send_setup(struct usb_serial_port *port)
        portdata = usb_get_serial_port_data(port);
 
        if (portdata->dtr_state)
-               val |= 0x01;
+               val |= USB_CDC_CTRL_DTR;
        if (portdata->rts_state)
-               val |= 0x02;
+               val |= USB_CDC_CTRL_RTS;
 
        ifnum = serial->interface->cur_altsetting->desc.bInterfaceNumber;
 
@@ -59,8 +60,9 @@ static int usb_wwan_send_setup(struct usb_serial_port *port)
                return res;
 
        res = usb_control_msg(serial->dev, usb_sndctrlpipe(serial->dev, 0),
-                               0x22, 0x21, val, ifnum, NULL, 0,
-                               USB_CTRL_SET_TIMEOUT);
+                               USB_CDC_REQ_SET_CONTROL_LINE_STATE,
+                               USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
+                               val, ifnum, NULL, 0, USB_CTRL_SET_TIMEOUT);
 
        usb_autopm_put_interface(port->serial->interface);