1*095e62ddSJernej Skrabec // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 2*095e62ddSJernej Skrabec /* Copyright(c) Jernej Skrabec <jernej.skrabec@gmail.com> 3*095e62ddSJernej Skrabec */ 4*095e62ddSJernej Skrabec 5*095e62ddSJernej Skrabec #include <linux/mmc/sdio_func.h> 6*095e62ddSJernej Skrabec #include <linux/mmc/sdio_ids.h> 7*095e62ddSJernej Skrabec #include <linux/module.h> 8*095e62ddSJernej Skrabec #include "main.h" 9*095e62ddSJernej Skrabec #include "rtw8822b.h" 10*095e62ddSJernej Skrabec #include "sdio.h" 11*095e62ddSJernej Skrabec 12*095e62ddSJernej Skrabec static const struct sdio_device_id rtw_8822bs_id_table[] = { 13*095e62ddSJernej Skrabec { 14*095e62ddSJernej Skrabec SDIO_DEVICE(SDIO_VENDOR_ID_REALTEK, 15*095e62ddSJernej Skrabec SDIO_DEVICE_ID_REALTEK_RTW8822BS), 16*095e62ddSJernej Skrabec .driver_data = (kernel_ulong_t)&rtw8822b_hw_spec, 17*095e62ddSJernej Skrabec }, 18*095e62ddSJernej Skrabec {} 19*095e62ddSJernej Skrabec }; 20*095e62ddSJernej Skrabec MODULE_DEVICE_TABLE(sdio, rtw_8822bs_id_table); 21*095e62ddSJernej Skrabec 22*095e62ddSJernej Skrabec static struct sdio_driver rtw_8822bs_driver = { 23*095e62ddSJernej Skrabec .name = "rtw_8822bs", 24*095e62ddSJernej Skrabec .probe = rtw_sdio_probe, 25*095e62ddSJernej Skrabec .remove = rtw_sdio_remove, 26*095e62ddSJernej Skrabec .id_table = rtw_8822bs_id_table, 27*095e62ddSJernej Skrabec .drv = { 28*095e62ddSJernej Skrabec .pm = &rtw_sdio_pm_ops, 29*095e62ddSJernej Skrabec .shutdown = rtw_sdio_shutdown, 30*095e62ddSJernej Skrabec } 31*095e62ddSJernej Skrabec }; 32*095e62ddSJernej Skrabec module_sdio_driver(rtw_8822bs_driver); 33*095e62ddSJernej Skrabec 34*095e62ddSJernej Skrabec MODULE_AUTHOR("Jernej Skrabec <jernej.skrabec@gmail.com>"); 35*095e62ddSJernej Skrabec MODULE_DESCRIPTION("Realtek 802.11ac wireless 8822bs driver"); 36*095e62ddSJernej Skrabec MODULE_LICENSE("Dual BSD/GPL"); 37