summaryrefslogtreecommitdiff
path: root/drivers/iio/imu-aosp/inv_mpu6515/inv_test/inv_counters.h
blob: d60dac9d97bdd7f18b1082b6678d5156883fdafb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/*
 * @file  inv_counters.h
 * @brief Debug file to keep track of various counters for the InvenSense
 *        sensor drivers.
 *
 * @version 0.1
 */

#ifndef _INV_COUNTERS_H_
#define _INV_COUNTERS_H_

#include <linux/module.h>
#include <linux/init.h>
#include <linux/err.h>
#include <linux/sysfs.h>
#include <linux/string.h>
#include <linux/jiffies.h>
#include <linux/spinlock.h>

#ifdef CONFIG_INV_TESTING

enum irqtype {
	IRQ_MPU,
	IRQ_ACCEL,
	IRQ_COMPASS
};

#define INV_I2C_INC_MPUREAD(x)		inv_iio_counters_mpuread(x)
#define INV_I2C_INC_MPUWRITE(x)		inv_iio_counters_mpuwrite(x)
#define INV_I2C_INC_ACCELREAD(x)	inv_iio_counters_accelread(x)
#define INV_I2C_INC_ACCELWRITE(x)	inv_iio_counters_accelwrite(x)
#define INV_I2C_INC_COMPASSREAD(x)	inv_iio_counters_compassread(x)
#define INV_I2C_INC_COMPASSWRITE(x)	inv_iio_counters_compasswrite(x)

#define INV_I2C_INC_TEMPREAD(x)		inv_iio_counters_tempread(x)

#define INV_I2C_SETIRQ(type, irq)	inv_iio_counters_set_i2cirq(type, irq)
#define INV_I2C_INC_COMPASSIRQ()	inv_iio_counters_compassirq()
#define INV_I2C_INC_ACCELIRQ()		inv_iio_counters_accelirq()

void inv_iio_counters_mpuread(int count);
void inv_iio_counters_mpuwrite(int count);
void inv_iio_counters_accelread(int count);
void inv_iio_counters_accelwrite(int count);
void inv_iio_counters_compassread(int count);
void inv_iio_counters_compasswrite(int count);

void inv_iio_counters_tempread(int count);

void inv_iio_counters_set_i2cirq(enum irqtype type, int irq);
void inv_iio_counters_compassirq(void);
void inv_iio_counters_accelirq(void);

#else

#define INV_I2C_INC_MPUREAD(x)
#define INV_I2C_INC_MPUWRITE(x)
#define INV_I2C_INC_ACCELREAD(x)
#define INV_I2C_INC_ACCELWRITE(x)
#define INV_I2C_INC_COMPASSREAD(x)
#define INV_I2C_INC_COMPASSWRITE(x)

#define INV_I2C_INC_TEMPREAD(x)

#define INV_I2C_SETIRQ(type, irq)
#define INV_I2C_INC_COMPASSIRQ()
#define INV_I2C_INC_ACCELIRQ()

#endif /* CONFIG_INV_TESTING */

#endif /* _INV_COUNTERS_H_ */