1240c94ce8
The DT of_device.h and of_platform.h date back to the separate of_platform_bus_type before it as merged into the regular platform bus. As part of that merge prepping Arm DT support 13 years ago, they "temporarily" include each other. They also include platform_device.h and of.h. As a result, there's a pretty much random mix of those include files used throughout the tree. In order to detangle these headers and replace the implicit includes with struct declarations, users need to explicitly include the correct includes. Signed-off-by: Rob Herring <robh@kernel.org> Acked-by: Heiko Stuebner <heiko@sntech.de> Link: https://lore.kernel.org/r/20230714174628.4057920-1-robh@kernel.org Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
62 lines
1.4 KiB
C
62 lines
1.4 KiB
C
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* ADXL372 3-Axis Digital Accelerometer SPI driver
|
|
*
|
|
* Copyright 2018 Analog Devices Inc.
|
|
*/
|
|
|
|
#include <linux/module.h>
|
|
#include <linux/regmap.h>
|
|
#include <linux/of.h>
|
|
#include <linux/spi/spi.h>
|
|
|
|
#include "adxl372.h"
|
|
|
|
static const struct regmap_config adxl372_spi_regmap_config = {
|
|
.reg_bits = 7,
|
|
.pad_bits = 1,
|
|
.val_bits = 8,
|
|
.read_flag_mask = BIT(0),
|
|
.readable_noinc_reg = adxl372_readable_noinc_reg,
|
|
};
|
|
|
|
static int adxl372_spi_probe(struct spi_device *spi)
|
|
{
|
|
const struct spi_device_id *id = spi_get_device_id(spi);
|
|
struct regmap *regmap;
|
|
|
|
regmap = devm_regmap_init_spi(spi, &adxl372_spi_regmap_config);
|
|
if (IS_ERR(regmap))
|
|
return PTR_ERR(regmap);
|
|
|
|
return adxl372_probe(&spi->dev, regmap, spi->irq, id->name);
|
|
}
|
|
|
|
static const struct spi_device_id adxl372_spi_id[] = {
|
|
{ "adxl372", 0 },
|
|
{}
|
|
};
|
|
MODULE_DEVICE_TABLE(spi, adxl372_spi_id);
|
|
|
|
static const struct of_device_id adxl372_of_match[] = {
|
|
{ .compatible = "adi,adxl372" },
|
|
{ }
|
|
};
|
|
MODULE_DEVICE_TABLE(of, adxl372_of_match);
|
|
|
|
static struct spi_driver adxl372_spi_driver = {
|
|
.driver = {
|
|
.name = "adxl372_spi",
|
|
.of_match_table = adxl372_of_match,
|
|
},
|
|
.probe = adxl372_spi_probe,
|
|
.id_table = adxl372_spi_id,
|
|
};
|
|
|
|
module_spi_driver(adxl372_spi_driver);
|
|
|
|
MODULE_AUTHOR("Stefan Popa <stefan.popa@analog.com>");
|
|
MODULE_DESCRIPTION("Analog Devices ADXL372 3-axis accelerometer SPI driver");
|
|
MODULE_LICENSE("GPL");
|
|
MODULE_IMPORT_NS(IIO_ADXL372);
|