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