drivers/net/wireless/realtek/rtw88/rtw8822bs.c

Source file repositories/reference/linux-study-clean/drivers/net/wireless/realtek/rtw88/rtw8822bs.c

File Facts

System
Linux kernel
Corpus path
drivers/net/wireless/realtek/rtw88/rtw8822bs.c
Extension
.c
Size
952 bytes
Lines
37
Domain
Driver Families
Bucket
drivers/net
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
/* Copyright(c) Jernej Skrabec <jernej.skrabec@gmail.com>
 */

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

static const struct sdio_device_id rtw_8822bs_id_table[] =  {
	{
		SDIO_DEVICE(SDIO_VENDOR_ID_REALTEK,
			    SDIO_DEVICE_ID_REALTEK_RTW8822BS),
		.driver_data = (kernel_ulong_t)&rtw8822b_hw_spec,
	},
	{}
};
MODULE_DEVICE_TABLE(sdio, rtw_8822bs_id_table);

static struct sdio_driver rtw_8822bs_driver = {
	.name = KBUILD_MODNAME,
	.probe = rtw_sdio_probe,
	.remove = rtw_sdio_remove,
	.shutdown = rtw_sdio_shutdown,
	.id_table = rtw_8822bs_id_table,
	.drv = {
		.pm = &rtw_sdio_pm_ops,
	}
};
module_sdio_driver(rtw_8822bs_driver);

MODULE_AUTHOR("Jernej Skrabec <jernej.skrabec@gmail.com>");
MODULE_DESCRIPTION("Realtek 802.11ac wireless 8822bs driver");
MODULE_LICENSE("Dual BSD/GPL");

Annotation

Implementation Notes