linux/drivers/iio/accel/adxl313_core.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * ADXL313 3-Axis Digital Accelerometer
 *
 * Copyright (c) 2021 Lucas Stankus <[email protected]>
 *
 * Datasheet: https://www.analog.com/media/en/technical-documentation/data-sheets/ADXL313.pdf
 */

#include <linux/bitfield.h>
#include <linux/module.h>
#include <linux/regmap.h>

#include "adxl313.h"

static const struct regmap_range adxl312_readable_reg_range[] =;

static const struct regmap_range adxl313_readable_reg_range[] =;

const struct regmap_access_table adxl312_readable_regs_table =;
EXPORT_SYMBOL_NS_GPL();

const struct regmap_access_table adxl313_readable_regs_table =;
EXPORT_SYMBOL_NS_GPL();

const struct regmap_access_table adxl314_readable_regs_table =;
EXPORT_SYMBOL_NS_GPL();

static int adxl312_check_id(struct device *dev,
			    struct adxl313_data *data)
{}

static int adxl313_check_id(struct device *dev,
			    struct adxl313_data *data)
{}

const struct adxl313_chip_info adxl31x_chip_info[] =;
EXPORT_SYMBOL_NS_GPL();

static const struct regmap_range adxl312_writable_reg_range[] =;

static const struct regmap_range adxl313_writable_reg_range[] =;

const struct regmap_access_table adxl312_writable_regs_table =;
EXPORT_SYMBOL_NS_GPL();

const struct regmap_access_table adxl313_writable_regs_table =;
EXPORT_SYMBOL_NS_GPL();

const struct regmap_access_table adxl314_writable_regs_table =;
EXPORT_SYMBOL_NS_GPL();

static const int adxl313_odr_freqs[][2] =;

#define ADXL313_ACCEL_CHANNEL(index, axis)

static const struct iio_chan_spec adxl313_channels[] =;

static int adxl313_set_odr(struct adxl313_data *data,
			   unsigned int freq1, unsigned int freq2)
{}

static int adxl313_read_axis(struct adxl313_data *data,
			     struct iio_chan_spec const *chan)
{}

static int adxl313_read_freq_avail(struct iio_dev *indio_dev,
				   struct iio_chan_spec const *chan,
				   const int **vals, int *type, int *length,
				   long mask)
{}

static int adxl313_read_raw(struct iio_dev *indio_dev,
			    struct iio_chan_spec const *chan,
			    int *val, int *val2, long mask)
{}

static int adxl313_write_raw(struct iio_dev *indio_dev,
			     struct iio_chan_spec const *chan,
			     int val, int val2, long mask)
{}

static const struct iio_info adxl313_info =;

static int adxl313_setup(struct device *dev, struct adxl313_data *data,
			 int (*setup)(struct device *, struct regmap *))
{}

/**
 * adxl313_core_probe() - probe and setup for adxl313 accelerometer
 * @dev:	Driver model representation of the device
 * @regmap:	Register map of the device
 * @chip_info:	Structure containing device specific data
 * @setup:	Setup routine to be executed right before the standard device
 *		setup, can also be set to NULL if not required
 *
 * Return: 0 on success, negative errno on error cases
 */
int adxl313_core_probe(struct device *dev,
		       struct regmap *regmap,
		       const struct adxl313_chip_info *chip_info,
		       int (*setup)(struct device *, struct regmap *))
{}
EXPORT_SYMBOL_NS_GPL();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();