diff mbox series

[9/9] wifi: rtw88: SDIO device driver for RTL8723CS

Message ID 20240202121050.977223-10-fiona.klute@gmx.de
State Superseded
Headers show
Series rtw88: Add support for RTL8723CS/RTL8703B | expand

Commit Message

Fiona Klute Feb. 2, 2024, 12:10 p.m. UTC
This driver uses the new rtw8703b chip driver code.

Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
---
 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

--
2.43.0

Comments

Ping-Ke Shih Feb. 5, 2024, 3:10 a.m. UTC | #1
> -----Original Message-----
> From: Fiona Klute <fiona.klute@gmx.de>
> Sent: Friday, February 2, 2024 8:11 PM
> To: linux-wireless@vger.kernel.org; Ping-Ke Shih <pkshih@realtek.com>
> Cc: Kalle Valo <kvalo@kernel.org>; Ulf Hansson <ulf.hansson@linaro.org>; linux-mmc@vger.kernel.org; Pavel
> Machek <pavel@ucw.cz>; Ondřej Jirman <megi@xff.cz>; Fiona Klute <fiona.klute@gmx.de>
> Subject: [PATCH 9/9] wifi: rtw88: SDIO device driver for RTL8723CS
> 
> This driver uses the new rtw8703b chip driver code.
> 
> Signed-off-by: Fiona Klute <fiona.klute@gmx.de>

Acked-by: Ping-Ke Shih <pkshih@realtek.com>

I have reviewed this patchset and only need some small changes, so I think
you can send firmware patch to me privately (please also tell me the vendor
driver version you are taking), and then I can check and send out the firmware.

Thanks for your work! 
Ping-Ke
Ulf Hansson Feb. 5, 2024, 4:07 p.m. UTC | #2
On Fri, 2 Feb 2024 at 13:11, Fiona Klute <fiona.klute@gmx.de> wrote:
>
> This driver uses the new rtw8703b chip driver code.
>
> Signed-off-by: Fiona Klute <fiona.klute@gmx.de>

Acked-by: Ulf Hansson <ulf.hansson@linaro.org> # 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 <fiona.klute@gmx.de> */
> +
> +#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 <fiona.klute@gmx.de>");
> +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
>
diff mbox series

Patch

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 <fiona.klute@gmx.de> */
+
+#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 <fiona.klute@gmx.de>");
+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