162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 262306a36Sopenharmony_ci/* Copyright(c) Martin Blumenstingl <martin.blumenstingl@googlemail.com> 362306a36Sopenharmony_ci */ 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#include <linux/mmc/sdio_func.h> 662306a36Sopenharmony_ci#include <linux/mmc/sdio_ids.h> 762306a36Sopenharmony_ci#include <linux/module.h> 862306a36Sopenharmony_ci#include "main.h" 962306a36Sopenharmony_ci#include "rtw8822c.h" 1062306a36Sopenharmony_ci#include "sdio.h" 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cistatic const struct sdio_device_id rtw_8822cs_id_table[] = { 1362306a36Sopenharmony_ci { 1462306a36Sopenharmony_ci SDIO_DEVICE(SDIO_VENDOR_ID_REALTEK, 1562306a36Sopenharmony_ci SDIO_DEVICE_ID_REALTEK_RTW8822CS), 1662306a36Sopenharmony_ci .driver_data = (kernel_ulong_t)&rtw8822c_hw_spec, 1762306a36Sopenharmony_ci }, 1862306a36Sopenharmony_ci {} 1962306a36Sopenharmony_ci}; 2062306a36Sopenharmony_ciMODULE_DEVICE_TABLE(sdio, rtw_8822cs_id_table); 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_cistatic struct sdio_driver rtw_8822cs_driver = { 2362306a36Sopenharmony_ci .name = "rtw_8822cs", 2462306a36Sopenharmony_ci .probe = rtw_sdio_probe, 2562306a36Sopenharmony_ci .remove = rtw_sdio_remove, 2662306a36Sopenharmony_ci .id_table = rtw_8822cs_id_table, 2762306a36Sopenharmony_ci .drv = { 2862306a36Sopenharmony_ci .pm = &rtw_sdio_pm_ops, 2962306a36Sopenharmony_ci .shutdown = rtw_sdio_shutdown, 3062306a36Sopenharmony_ci } 3162306a36Sopenharmony_ci}; 3262306a36Sopenharmony_cimodule_sdio_driver(rtw_8822cs_driver); 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ciMODULE_AUTHOR("Martin Blumenstingl <martin.blumenstingl@googlemail.com>"); 3562306a36Sopenharmony_ciMODULE_DESCRIPTION("Realtek 802.11ac wireless 8822cs driver"); 3662306a36Sopenharmony_ciMODULE_LICENSE("Dual BSD/GPL"); 37