drivers/regulator/tps65912-regulator.c

Source file repositories/reference/linux-study-clean/drivers/regulator/tps65912-regulator.c

File Facts

System
Linux kernel
Corpus path
drivers/regulator/tps65912-regulator.c
Extension
.c
Size
5418 bytes
Lines
163
Domain
Driver Families
Bucket
drivers/regulator
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

if (IS_ERR(rdev)) {
			dev_err(tps->dev, "failed to register %s regulator\n",
				pdev->name);
			return PTR_ERR(rdev);
		}
	}

	return 0;
}

static const struct platform_device_id tps65912_regulator_id_table[] = {
	{ .name = "tps65912-regulator" },
	{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(platform, tps65912_regulator_id_table);

static struct platform_driver tps65912_regulator_driver = {
	.driver = {
		.name = "tps65912-regulator",
		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
	},
	.probe = tps65912_regulator_probe,
	.id_table = tps65912_regulator_id_table,
};
module_platform_driver(tps65912_regulator_driver);

MODULE_AUTHOR("Andrew F. Davis <afd@ti.com>");
MODULE_DESCRIPTION("TPS65912 voltage regulator driver");
MODULE_LICENSE("GPL v2");

Annotation

Implementation Notes