1*b2a777d6SMartin Blumenstingl // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 2*b2a777d6SMartin Blumenstingl /* Copyright(c) Martin Blumenstingl <martin.blumenstingl@googlemail.com> 3*b2a777d6SMartin Blumenstingl */ 4*b2a777d6SMartin Blumenstingl 5*b2a777d6SMartin Blumenstingl #include <linux/mmc/sdio_func.h> 6*b2a777d6SMartin Blumenstingl #include <linux/mmc/sdio_ids.h> 7*b2a777d6SMartin Blumenstingl #include <linux/module.h> 8*b2a777d6SMartin Blumenstingl #include "main.h" 9*b2a777d6SMartin Blumenstingl #include "rtw8821c.h" 10*b2a777d6SMartin Blumenstingl #include "sdio.h" 11*b2a777d6SMartin Blumenstingl 12*b2a777d6SMartin Blumenstingl static const struct sdio_device_id rtw_8821cs_id_table[] = { 13*b2a777d6SMartin Blumenstingl { 14*b2a777d6SMartin Blumenstingl SDIO_DEVICE(SDIO_VENDOR_ID_REALTEK, 15*b2a777d6SMartin Blumenstingl SDIO_DEVICE_ID_REALTEK_RTW8821CS), 16*b2a777d6SMartin Blumenstingl .driver_data = (kernel_ulong_t)&rtw8821c_hw_spec, 17*b2a777d6SMartin Blumenstingl }, 18*b2a777d6SMartin Blumenstingl {} 19*b2a777d6SMartin Blumenstingl }; 20*b2a777d6SMartin Blumenstingl MODULE_DEVICE_TABLE(sdio, rtw_8821cs_id_table); 21*b2a777d6SMartin Blumenstingl 22*b2a777d6SMartin Blumenstingl static struct sdio_driver rtw_8821cs_driver = { 23*b2a777d6SMartin Blumenstingl .name = "rtw_8821cs", 24*b2a777d6SMartin Blumenstingl .probe = rtw_sdio_probe, 25*b2a777d6SMartin Blumenstingl .remove = rtw_sdio_remove, 26*b2a777d6SMartin Blumenstingl .id_table = rtw_8821cs_id_table, 27*b2a777d6SMartin Blumenstingl .drv = { 28*b2a777d6SMartin Blumenstingl .pm = &rtw_sdio_pm_ops, 29*b2a777d6SMartin Blumenstingl .shutdown = rtw_sdio_shutdown, 30*b2a777d6SMartin Blumenstingl } 31*b2a777d6SMartin Blumenstingl }; 32*b2a777d6SMartin Blumenstingl module_sdio_driver(rtw_8821cs_driver); 33*b2a777d6SMartin Blumenstingl 34*b2a777d6SMartin Blumenstingl MODULE_AUTHOR("Martin Blumenstingl <martin.blumenstingl@googlemail.com>"); 35*b2a777d6SMartin Blumenstingl MODULE_DESCRIPTION("Realtek 802.11ac wireless 8821cs driver"); 36*b2a777d6SMartin Blumenstingl MODULE_LICENSE("Dual BSD/GPL"); 37