staging:iio:adxrs450: Move header file contents to main file
[pandora-kernel.git] / drivers / staging / iio / gyro / adxrs450.c
similarity index 86%
rename from drivers/staging/iio/gyro/adxrs450_core.c
rename to drivers/staging/iio/gyro/adxrs450.c
index 714e323..d9d4383 100644 (file)
 #include <linux/iio/iio.h>
 #include <linux/iio/sysfs.h>
 
-#include "adxrs450.h"
+#define ADXRS450_STARTUP_DELAY 50 /* ms */
+
+/* The MSB for the spi commands */
+#define ADXRS450_SENSOR_DATA    (0x20 << 24)
+#define ADXRS450_WRITE_DATA    (0x40 << 24)
+#define ADXRS450_READ_DATA     (0x80 << 24)
+
+#define ADXRS450_RATE1 0x00    /* Rate Registers */
+#define ADXRS450_TEMP1 0x02    /* Temperature Registers */
+#define ADXRS450_LOCST1        0x04    /* Low CST Memory Registers */
+#define ADXRS450_HICST1        0x06    /* High CST Memory Registers */
+#define ADXRS450_QUAD1 0x08    /* Quad Memory Registers */
+#define ADXRS450_FAULT1        0x0A    /* Fault Registers */
+#define ADXRS450_PID1  0x0C    /* Part ID Register 1 */
+#define ADXRS450_SNH   0x0E    /* Serial Number Registers, 4 bytes */
+#define ADXRS450_SNL   0x10
+#define ADXRS450_DNC1  0x12    /* Dynamic Null Correction Registers */
+/* Check bits */
+#define ADXRS450_P     0x01
+#define ADXRS450_CHK   0x02
+#define ADXRS450_CST   0x04
+#define ADXRS450_PWR   0x08
+#define ADXRS450_POR   0x10
+#define ADXRS450_NVM   0x20
+#define ADXRS450_Q     0x40
+#define ADXRS450_PLL   0x80
+#define ADXRS450_UV    0x100
+#define ADXRS450_OV    0x200
+#define ADXRS450_AMP   0x400
+#define ADXRS450_FAIL  0x800
+
+#define ADXRS450_WRERR_MASK    (0x7 << 29)
+
+#define ADXRS450_MAX_RX 4
+#define ADXRS450_MAX_TX 4
+
+#define ADXRS450_GET_ST(a)     ((a >> 26) & 0x3)
+
+enum {
+       ID_ADXRS450,
+       ID_ADXRS453,
+};
+
+/**
+ * struct adxrs450_state - device instance specific data
+ * @us:                        actual spi_device
+ * @buf_lock:          mutex to protect tx and rx
+ * @tx:                        transmit buffer
+ * @rx:                        receive buffer
+ **/
+struct adxrs450_state {
+       struct spi_device       *us;
+       struct mutex            buf_lock;
+       __be32                  tx ____cacheline_aligned;
+       __be32                  rx;
+
+};
 
 /**
  * adxrs450_spi_read_reg_16() - read 2 bytes from a register pair