61 lines · c
1// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause2/* Copyright(c) 2018-2019 Realtek Corporation3 */4 5#include <linux/module.h>6#include <linux/usb.h>7#include "main.h"8#include "rtw8821c.h"9#include "usb.h"10 11static const struct usb_device_id rtw_8821cu_id_table[] = {12 { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x2006, 0xff, 0xff, 0xff),13 .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },14 { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x8731, 0xff, 0xff, 0xff),15 .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },16 { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x8811, 0xff, 0xff, 0xff),17 .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },18 { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xb820, 0xff, 0xff, 0xff),19 .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },20 { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xb82b, 0xff, 0xff, 0xff),21 .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },22 { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc80c, 0xff, 0xff, 0xff),23 .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },24 { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc811, 0xff, 0xff, 0xff),25 .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },26 { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc820, 0xff, 0xff, 0xff),27 .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },28 { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc821, 0xff, 0xff, 0xff),29 .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },30 { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc82a, 0xff, 0xff, 0xff),31 .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },32 { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc82b, 0xff, 0xff, 0xff),33 .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },34 { USB_DEVICE_AND_INTERFACE_INFO(0x2001, 0x331d, 0xff, 0xff, 0xff),35 .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* D-Link */36 { USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0xc811, 0xff, 0xff, 0xff),37 .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* Edimax */38 { USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0xd811, 0xff, 0xff, 0xff),39 .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* Edimax */40 {},41};42MODULE_DEVICE_TABLE(usb, rtw_8821cu_id_table);43 44static int rtw_8821cu_probe(struct usb_interface *intf,45 const struct usb_device_id *id)46{47 return rtw_usb_probe(intf, id);48}49 50static struct usb_driver rtw_8821cu_driver = {51 .name = "rtw_8821cu",52 .id_table = rtw_8821cu_id_table,53 .probe = rtw_8821cu_probe,54 .disconnect = rtw_usb_disconnect,55};56module_usb_driver(rtw_8821cu_driver);57 58MODULE_AUTHOR("Hans Ulli Kroll <linux@ulli-kroll.de>");59MODULE_DESCRIPTION("Realtek 802.11ac wireless 8821cu driver");60MODULE_LICENSE("Dual BSD/GPL");61