linux/drivers/input/misc/cma3000_d0x.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * VTI CMA3000_D0x Accelerometer driver
 *
 * Copyright (C) 2010 Texas Instruments
 * Author: Hemanth V <[email protected]>
 */

#include <linux/types.h>
#include <linux/interrupt.h>
#include <linux/delay.h>
#include <linux/slab.h>
#include <linux/input.h>
#include <linux/input/cma3000.h>
#include <linux/module.h>

#include "cma3000_d0x.h"

#define CMA3000_WHOAMI
#define CMA3000_REVID
#define CMA3000_CTRL
#define CMA3000_STATUS
#define CMA3000_RSTR
#define CMA3000_INTSTATUS
#define CMA3000_DOUTX
#define CMA3000_DOUTY
#define CMA3000_DOUTZ
#define CMA3000_MDTHR
#define CMA3000_MDFFTMR
#define CMA3000_FFTHR

#define CMA3000_RANGE2G
#define CMA3000_RANGE8G
#define CMA3000_BUSI2C
#define CMA3000_MODEMASK
#define CMA3000_GRANGEMASK

#define CMA3000_STATUS_PERR
#define CMA3000_INTSTATUS_FFDET

/* Settling time delay in ms */
#define CMA3000_SETDELAY

/* Delay for clearing interrupt in us */
#define CMA3000_INTDELAY


/*
 * Bit weights in mg for bit 0, other bits need
 * multiply factor 2^n. Eight bit is the sign bit.
 */
#define BIT_TO_2G
#define BIT_TO_8G

struct cma3000_accl_data {};

#define CMA3000_READ(data, reg, msg)
#define CMA3000_SET(data, reg, val, msg)

/*
 * Conversion for each of the eight modes to g, depending
 * on G range i.e 2G or 8G. Some modes always operate in
 * 8G.
 */

static int mode_to_mg[8][2] =;

static void decode_mg(struct cma3000_accl_data *data, int *datax,
				int *datay, int *dataz)
{}

static irqreturn_t cma3000_thread_irq(int irq, void *dev_id)
{}

static int cma3000_reset(struct cma3000_accl_data *data)
{}

static int cma3000_poweron(struct cma3000_accl_data *data)
{}

static int cma3000_poweroff(struct cma3000_accl_data *data)
{}

static int cma3000_open(struct input_dev *input_dev)
{}

static void cma3000_close(struct input_dev *input_dev)
{}

void cma3000_suspend(struct cma3000_accl_data *data)
{}
EXPORT_SYMBOL();


void cma3000_resume(struct cma3000_accl_data *data)
{}
EXPORT_SYMBOL();

struct cma3000_accl_data *cma3000_init(struct device *dev, int irq,
				       const struct cma3000_bus_ops *bops)
{}
EXPORT_SYMBOL();

void cma3000_exit(struct cma3000_accl_data *data)
{}
EXPORT_SYMBOL();

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