Commit d5e22360 authored by Yan Xinyu's avatar Yan Xinyu Committed by Greg Kroah-Hartman

USB: serial: usb_wwan: replace DTR/RTS magic numbers with macros

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: default avatarYan Xinyu <sdlyyxy@bupt.edu.cn>
Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20220725075841.1187-8-johan@kernel.orgSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f4beed1e
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include <linux/bitops.h> #include <linux/bitops.h>
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <linux/usb.h> #include <linux/usb.h>
#include <linux/usb/cdc.h>
#include <linux/usb/serial.h> #include <linux/usb/serial.h>
#include <linux/serial.h> #include <linux/serial.h>
#include "usb-wwan.h" #include "usb-wwan.h"
...@@ -48,9 +49,9 @@ static int usb_wwan_send_setup(struct usb_serial_port *port) ...@@ -48,9 +49,9 @@ static int usb_wwan_send_setup(struct usb_serial_port *port)
portdata = usb_get_serial_port_data(port); portdata = usb_get_serial_port_data(port);
if (portdata->dtr_state) if (portdata->dtr_state)
val |= 0x01; val |= USB_CDC_CTRL_DTR;
if (portdata->rts_state) if (portdata->rts_state)
val |= 0x02; val |= USB_CDC_CTRL_RTS;
ifnum = serial->interface->cur_altsetting->desc.bInterfaceNumber; ifnum = serial->interface->cur_altsetting->desc.bInterfaceNumber;
...@@ -59,8 +60,9 @@ static int usb_wwan_send_setup(struct usb_serial_port *port) ...@@ -59,8 +60,9 @@ static int usb_wwan_send_setup(struct usb_serial_port *port)
return res; return res;
res = usb_control_msg(serial->dev, usb_sndctrlpipe(serial->dev, 0), res = usb_control_msg(serial->dev, usb_sndctrlpipe(serial->dev, 0),
0x22, 0x21, val, ifnum, NULL, 0, USB_CDC_REQ_SET_CONTROL_LINE_STATE,
USB_CTRL_SET_TIMEOUT); USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
val, ifnum, NULL, 0, USB_CTRL_SET_TIMEOUT);
usb_autopm_put_interface(port->serial->interface); usb_autopm_put_interface(port->serial->interface);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment