xref: /linux/drivers/spi/spi-intel-platform.c (revision 5722a6cecfff3e381b96bbbd7e9b3911731e80d9)
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  * Intel PCH/PCU SPI flash platform driver.
4  *
5  * Copyright (C) 2016 - 2022, Intel Corporation
6  * Author: Mika Westerberg <mika.westerberg@linux.intel.com>
7  */
8 
9 #include <linux/module.h>
10 #include <linux/platform_device.h>
11 
12 #include "spi-intel.h"
13 
intel_spi_platform_probe(struct platform_device * pdev)14 static int intel_spi_platform_probe(struct platform_device *pdev)
15 {
16 	struct intel_spi_boardinfo *info;
17 	void __iomem *base;
18 
19 	info = dev_get_platdata(&pdev->dev);
20 	if (!info)
21 		return -EINVAL;
22 
23 	base = devm_platform_ioremap_resource(pdev, 0);
24 	if (IS_ERR(base))
25 		return PTR_ERR(base);
26 
27 	return intel_spi_probe(&pdev->dev, base, info);
28 }
29 
30 static struct platform_driver intel_spi_platform_driver = {
31 	.probe = intel_spi_platform_probe,
32 	.driver = {
33 		.name = "intel-spi",
34 		.dev_groups = intel_spi_groups,
35 	},
36 };
37 
38 module_platform_driver(intel_spi_platform_driver);
39 
40 MODULE_DESCRIPTION("Intel PCH/PCU SPI flash platform driver");
41 MODULE_AUTHOR("Mika Westerberg <mika.westerberg@linux.intel.com>");
42 MODULE_LICENSE("GPL v2");
43 MODULE_ALIAS("platform:intel-spi");
44