drivers/mtd/nand/raw/brcmnand/brcmstb_nand.c

Source file repositories/reference/linux-study-clean/drivers/mtd/nand/raw/brcmnand/brcmstb_nand.c

File Facts

System
Linux kernel
Corpus path
drivers/mtd/nand/raw/brcmnand/brcmstb_nand.c
Extension
.c
Size
885 bytes
Lines
38
Domain
Driver Families
Bucket
drivers/mtd
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-only
/*
 * Copyright © 2015 Broadcom Corporation
 */

#include <linux/device.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/platform_device.h>

#include "brcmnand.h"

static const struct of_device_id brcmstb_nand_of_match[] = {
	{ .compatible = "brcm,brcmnand" },
	{},
};
MODULE_DEVICE_TABLE(of, brcmstb_nand_of_match);

static int brcmstb_nand_probe(struct platform_device *pdev)
{
	return brcmnand_probe(pdev, NULL);
}

static struct platform_driver brcmstb_nand_driver = {
	.probe			= brcmstb_nand_probe,
	.remove			= brcmnand_remove,
	.driver = {
		.name		= "brcmstb_nand",
		.pm		= &brcmnand_pm_ops,
		.of_match_table = brcmstb_nand_of_match,
	}
};
module_platform_driver(brcmstb_nand_driver);

MODULE_LICENSE("GPL v2");
MODULE_AUTHOR("Brian Norris");
MODULE_DESCRIPTION("NAND driver for Broadcom STB chips");

Annotation

Implementation Notes