From 57fb47279a04cd53641dc5ae55a6d47e4f32a2fd Mon Sep 17 00:00:00 2001 From: Lu Baolu Date: Tue, 21 Mar 2017 16:01:32 +0800 Subject: [PATCH] usb/serial: Add DBC debug device support to usb_debug This patch adds DBC debug device support to the usb_debug driver. Signed-off-by: Lu Baolu Acked-by: Thomas Gleixner Acked-by: Johan Hovold Cc: Greg Kroah-Hartman Cc: Linus Torvalds Cc: Mathias Nyman Cc: Peter Zijlstra Cc: linux-usb@vger.kernel.org Link: http://lkml.kernel.org/r/1490083293-3792-5-git-send-email-baolu.lu@linux.intel.com Signed-off-by: Ingo Molnar --- drivers/usb/serial/usb_debug.c | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/drivers/usb/serial/usb_debug.c b/drivers/usb/serial/usb_debug.c index ca2fa5bbe17e..92f7e5c21162 100644 --- a/drivers/usb/serial/usb_debug.c +++ b/drivers/usb/serial/usb_debug.c @@ -32,7 +32,18 @@ static const struct usb_device_id id_table[] = { { USB_DEVICE(0x0525, 0x127a) }, { }, }; -MODULE_DEVICE_TABLE(usb, id_table); + +static const struct usb_device_id dbc_id_table[] = { + { USB_DEVICE(0x1d6b, 0x0004) }, + { }, +}; + +static const struct usb_device_id id_table_combined[] = { + { USB_DEVICE(0x0525, 0x127a) }, + { USB_DEVICE(0x1d6b, 0x0004) }, + { }, +}; +MODULE_DEVICE_TABLE(usb, id_table_combined); /* This HW really does not support a serial break, so one will be * emulated when ever the break state is set to true. @@ -71,9 +82,20 @@ static struct usb_serial_driver debug_device = { .process_read_urb = usb_debug_process_read_urb, }; -static struct usb_serial_driver * const serial_drivers[] = { - &debug_device, NULL +static struct usb_serial_driver dbc_device = { + .driver = { + .owner = THIS_MODULE, + .name = "xhci_dbc", + }, + .id_table = dbc_id_table, + .num_ports = 1, + .break_ctl = usb_debug_break_ctl, + .process_read_urb = usb_debug_process_read_urb, }; -module_usb_serial_driver(serial_drivers, id_table); +static struct usb_serial_driver * const serial_drivers[] = { + &debug_device, &dbc_device, NULL +}; + +module_usb_serial_driver(serial_drivers, id_table_combined); MODULE_LICENSE("GPL");