Commit 6fdacb78 authored by Martin Blumenstingl's avatar Martin Blumenstingl Committed by Kalle Valo
Browse files

wifi: rtw88: Add support for the SDIO based RTL8822CS chipset



Wire up RTL8822CS chipset support using the new rtw88 SDIO HCI code as
well as the existing RTL8822C chipset code.

Reviewed-by: default avatarPing-Ke Shih <pkshih@realtek.com>
Signed-off-by: default avatarMartin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230405200729.632435-9-martin.blumenstingl@googlemail.com
parent 095e62dd
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -78,6 +78,17 @@ config RTW88_8822CE

	  802.11ac PCIe wireless network adapter

config RTW88_8822CS
	tristate "Realtek 8822CS SDIO wireless network adapter"
	depends on MMC
	select RTW88_CORE
	select RTW88_SDIO
	select RTW88_8822C
	help
	  Select this option will enable support for 8822CS chipset

	  802.11ac SDIO wireless network adapter

config RTW88_8822CU
	tristate "Realtek 8822CU USB wireless network adapter"
	depends on USB
+3 −0
Original line number Diff line number Diff line
@@ -38,6 +38,9 @@ rtw88_8822c-objs := rtw8822c.o rtw8822c_table.o
obj-$(CONFIG_RTW88_8822CE)	+= rtw88_8822ce.o
rtw88_8822ce-objs		:= rtw8822ce.o

obj-$(CONFIG_RTW88_8822CS)	+= rtw88_8822cs.o
rtw88_8822cs-objs		:= rtw8822cs.o

obj-$(CONFIG_RTW88_8822CU)	+= rtw88_8822cu.o
rtw88_8822cu-objs		:= rtw8822cu.o

+36 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
/* Copyright(c) Martin Blumenstingl <martin.blumenstingl@googlemail.com>
 */

#include <linux/mmc/sdio_func.h>
#include <linux/mmc/sdio_ids.h>
#include <linux/module.h>
#include "main.h"
#include "rtw8822c.h"
#include "sdio.h"

static const struct sdio_device_id rtw_8822cs_id_table[] =  {
	{
		SDIO_DEVICE(SDIO_VENDOR_ID_REALTEK,
			    SDIO_DEVICE_ID_REALTEK_RTW8822CS),
		.driver_data = (kernel_ulong_t)&rtw8822c_hw_spec,
	},
	{}
};
MODULE_DEVICE_TABLE(sdio, rtw_8822cs_id_table);

static struct sdio_driver rtw_8822cs_driver = {
	.name = "rtw_8822cs",
	.probe = rtw_sdio_probe,
	.remove = rtw_sdio_remove,
	.id_table = rtw_8822cs_id_table,
	.drv = {
		.pm = &rtw_sdio_pm_ops,
		.shutdown = rtw_sdio_shutdown,
	}
};
module_sdio_driver(rtw_8822cs_driver);

MODULE_AUTHOR("Martin Blumenstingl <martin.blumenstingl@googlemail.com>");
MODULE_DESCRIPTION("Realtek 802.11ac wireless 8822cs driver");
MODULE_LICENSE("Dual BSD/GPL");