2024-02-05 16:08:04

by Ulf Hansson

[permalink] [raw]
Subject: Re: [PATCH 9/9] wifi: rtw88: SDIO device driver for RTL8723CS

On Fri, 2 Feb 2024 at 13:11, Fiona Klute <[email protected]> wrote:
>
> This driver uses the new rtw8703b chip driver code.
>
> Signed-off-by: Fiona Klute <[email protected]>

Acked-by: Ulf Hansson <[email protected]> # For SDIO

Kind regards
Uffe

> ---
> drivers/net/wireless/realtek/rtw88/Kconfig | 18 ++++++++++
> drivers/net/wireless/realtek/rtw88/Makefile | 6 ++++
> .../net/wireless/realtek/rtw88/rtw8723cs.c | 34 +++++++++++++++++++
> include/linux/mmc/sdio_ids.h | 1 +
> 4 files changed, 59 insertions(+)
> create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8723cs.c
>
> diff --git a/drivers/net/wireless/realtek/rtw88/Kconfig b/drivers/net/wireless/realtek/rtw88/Kconfig
> index 07b5b2f6ee..22838ede03 100644
> --- a/drivers/net/wireless/realtek/rtw88/Kconfig
> +++ b/drivers/net/wireless/realtek/rtw88/Kconfig
> @@ -31,6 +31,10 @@ config RTW88_8822C
> config RTW88_8723X
> tristate
>
> +config RTW88_8703B
> + tristate
> + select RTW88_8723X
> +
> config RTW88_8723D
> tristate
> select RTW88_8723X
> @@ -126,6 +130,20 @@ config RTW88_8723DS
>
> 802.11n SDIO wireless network adapter
>
> +config RTW88_8723CS
> + tristate "Realtek 8723CS SDIO wireless network adapter"
> + depends on MMC
> + select RTW88_CORE
> + select RTW88_SDIO
> + select RTW88_8703B
> + help
> + Select this option to enable support for 8723CS chipset (EXPERIMENTAL)
> +
> + This module adds support for the 8723CS 802.11n SDIO
> + wireless network adapter.
> +
> + If you choose to build a module, it'll be called rtw88_8723cs.
> +
> config RTW88_8723DU
> tristate "Realtek 8723DU USB wireless network adapter"
> depends on USB
> diff --git a/drivers/net/wireless/realtek/rtw88/Makefile b/drivers/net/wireless/realtek/rtw88/Makefile
> index 22516c9846..8f47359b43 100644
> --- a/drivers/net/wireless/realtek/rtw88/Makefile
> +++ b/drivers/net/wireless/realtek/rtw88/Makefile
> @@ -47,6 +47,12 @@ rtw88_8822cu-objs := rtw8822cu.o
> obj-$(CONFIG_RTW88_8723X) += rtw88_8723x.o
> rtw88_8723x-objs := rtw8723x.o
>
> +obj-$(CONFIG_RTW88_8703B) += rtw88_8703b.o
> +rtw88_8703b-objs := rtw8703b.o rtw8703b_tables.o
> +
> +obj-$(CONFIG_RTW88_8723CS) += rtw88_8723cs.o
> +rtw88_8723cs-objs := rtw8723cs.o
> +
> obj-$(CONFIG_RTW88_8723D) += rtw88_8723d.o
> rtw88_8723d-objs := rtw8723d.o rtw8723d_table.o
>
> diff --git a/drivers/net/wireless/realtek/rtw88/rtw8723cs.c b/drivers/net/wireless/realtek/rtw88/rtw8723cs.c
> new file mode 100644
> index 0000000000..8d38d36be8
> --- /dev/null
> +++ b/drivers/net/wireless/realtek/rtw88/rtw8723cs.c
> @@ -0,0 +1,34 @@
> +// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
> +/* Copyright Fiona Klute <[email protected]> */
> +
> +#include <linux/mmc/sdio_func.h>
> +#include <linux/mmc/sdio_ids.h>
> +#include <linux/module.h>
> +#include "main.h"
> +#include "rtw8703b.h"
> +#include "sdio.h"
> +
> +static const struct sdio_device_id rtw_8723cs_id_table[] = {
> + {
> + SDIO_DEVICE(SDIO_VENDOR_ID_REALTEK,
> + SDIO_DEVICE_ID_REALTEK_RTW8723CS),
> + .driver_data = (kernel_ulong_t)&rtw8703b_hw_spec,
> + },
> + {}
> +};
> +MODULE_DEVICE_TABLE(sdio, rtw_8723cs_id_table);
> +
> +static struct sdio_driver rtw_8723cs_driver = {
> + .name = "rtw8723cs",
> + .id_table = rtw_8723cs_id_table,
> + .probe = rtw_sdio_probe,
> + .remove = rtw_sdio_remove,
> + .drv = {
> + .pm = &rtw_sdio_pm_ops,
> + .shutdown = rtw_sdio_shutdown
> + }};
> +module_sdio_driver(rtw_8723cs_driver);
> +
> +MODULE_AUTHOR("Fiona Klute <[email protected]>");
> +MODULE_DESCRIPTION("Realtek 802.11n wireless 8723cs driver");
> +MODULE_LICENSE("Dual BSD/GPL");
> diff --git a/include/linux/mmc/sdio_ids.h b/include/linux/mmc/sdio_ids.h
> index 7fada7a714..7cddfdac2f 100644
> --- a/include/linux/mmc/sdio_ids.h
> +++ b/include/linux/mmc/sdio_ids.h
> @@ -124,6 +124,7 @@
> #define SDIO_DEVICE_ID_REALTEK_RTW8723DS_2ANT 0xd723
> #define SDIO_DEVICE_ID_REALTEK_RTW8723DS_1ANT 0xd724
> #define SDIO_DEVICE_ID_REALTEK_RTW8821DS 0xd821
> +#define SDIO_DEVICE_ID_REALTEK_RTW8723CS 0xb703
>
> #define SDIO_VENDOR_ID_SIANO 0x039a
> #define SDIO_DEVICE_ID_SIANO_NOVA_B0 0x0201
> --
> 2.43.0
>