[PATCH 3/6] iio: accel: kxcjk1013: rename registers for KXTF9 compatibility

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Rename some registers that are shared between KXTF9 and KXCJK.

Signed-off-by: Michał Mirosław <mirq-linux@xxxxxxxxxxxx>
---
 drivers/iio/accel/kxcjk-1013.c | 123 ++++++++++++++++++++++-------------------
 1 file changed, 65 insertions(+), 58 deletions(-)

diff --git a/drivers/iio/accel/kxcjk-1013.c b/drivers/iio/accel/kxcjk-1013.c
index 80a6508d6370..27147b687471 100644
--- a/drivers/iio/accel/kxcjk-1013.c
+++ b/drivers/iio/accel/kxcjk-1013.c
@@ -48,39 +48,48 @@
 
 #define KXCJK1013_REG_DCST_RESP		0x0C
 #define KXCJK1013_REG_WHO_AM_I		0x0F
-#define KXCJK1013_REG_INT_SRC1		0x16
+#define KXREG_INT_SRC_DATA		0x16
 #define KXCJK1013_REG_INT_SRC2		0x17
 #define KXCJK1013_REG_STATUS_REG	0x18
 #define KXCJK1013_REG_INT_REL		0x1A
-#define KXCJK1013_REG_CTRL1		0x1B
-#define KXCJK1013_REG_CTRL2		0x1D
-#define KXCJK1013_REG_INT_CTRL1		0x1E
-#define KXCJK1013_REG_INT_CTRL2		0x1F
+#define KXREG_CTRL1			0x1B
+#define KXREG_CTRL3			0x1D
+#define KXREG_INT_CTRL1			0x1E
+#define KXREG_INT_CTRL2			0x1F
 #define KXCJK1013_REG_DATA_CTRL		0x21
 #define KXCJK1013_REG_WAKE_TIMER	0x29
 #define KXCJK1013_REG_SELF_TEST		0x3A
 #define KXCJK1013_REG_WAKE_THRES	0x6A
 
-#define KXCJK1013_REG_CTRL1_BIT_PC1	BIT(7)
-#define KXCJK1013_REG_CTRL1_BIT_RES	BIT(6)
-#define KXCJK1013_REG_CTRL1_BIT_DRDY	BIT(5)
-#define KXCJK1013_REG_CTRL1_BIT_GSEL1	BIT(4)
-#define KXCJK1013_REG_CTRL1_BIT_GSEL0	BIT(3)
-#define KXCJK1013_REG_CTRL1_BIT_WUFE	BIT(1)
-#define KXCJK1013_REG_INT_REG1_BIT_IEA	BIT(4)
-#define KXCJK1013_REG_INT_REG1_BIT_IEN	BIT(5)
+#define KXREG_CTRL1_BIT_PC1	BIT(7)
+#define KXREG_CTRL1_BIT_RES	BIT(6)
+#define KXREG_CTRL1_BIT_DRDY	BIT(5)
+#define KXREG_CTRL1_BIT_GSEL1	BIT(4)
+#define KXREG_CTRL1_BIT_GSEL0	BIT(3)
+#define KXREG_CTRL1_BIT_TDTE	BIT(2)
+#define KXREG_CTRL1_BIT_WUFE	BIT(1)
+#define KXREG_CTRL1_BIT_TPE	BIT(0)
+
+#define KXREG_INT_CTRL1_BIT_IEL	BIT(3)
+#define KXREG_INT_CTRL1_BIT_IEA	BIT(4)
+#define KXREG_INT_CTRL1_BIT_IEN	BIT(5)
 
 #define KXCJK1013_DATA_MASK_12_BIT	0x0FFF
 #define KXCJK1013_MAX_STARTUP_TIME_US	100000
 
 #define KXCJK1013_SLEEP_DELAY_MS	2000
 
-#define KXCJK1013_REG_INT_SRC2_BIT_ZP	BIT(0)
-#define KXCJK1013_REG_INT_SRC2_BIT_ZN	BIT(1)
-#define KXCJK1013_REG_INT_SRC2_BIT_YP	BIT(2)
-#define KXCJK1013_REG_INT_SRC2_BIT_YN	BIT(3)
-#define KXCJK1013_REG_INT_SRC2_BIT_XP	BIT(4)
-#define KXCJK1013_REG_INT_SRC2_BIT_XN	BIT(5)
+/* KXCJK: INT_SOURCE1 */
+#define KXREG_INT_BIT_WUFS	BIT(1)
+#define KXREG_INT_BIT_DRDY	BIT(4)
+
+/* KXCJK: INT_SOURCE2: motion detect */
+#define KXREG_MOTION_INT_BIT_ZP	BIT(0)
+#define KXREG_MOTION_INT_BIT_ZN	BIT(1)
+#define KXREG_MOTION_INT_BIT_YP	BIT(2)
+#define KXREG_MOTION_INT_BIT_YN	BIT(3)
+#define KXREG_MOTION_INT_BIT_XP	BIT(4)
+#define KXREG_MOTION_INT_BIT_XN	BIT(5)
 
 #define KXCJK1013_DEFAULT_WAKE_THRES	1
 
@@ -215,19 +224,19 @@ static int kxcjk1013_set_mode(struct kxcjk1013_data *data,
 {
 	int ret;
 
-	ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_CTRL1);
+	ret = i2c_smbus_read_byte_data(data->client, KXREG_CTRL1);
 	if (ret < 0) {
 		dev_err(&data->client->dev, "Error reading reg_ctrl1\n");
 		return ret;
 	}
 
 	if (mode == STANDBY)
-		ret &= ~KXCJK1013_REG_CTRL1_BIT_PC1;
+		ret &= ~KXREG_CTRL1_BIT_PC1;
 	else
-		ret |= KXCJK1013_REG_CTRL1_BIT_PC1;
+		ret |= KXREG_CTRL1_BIT_PC1;
 
 	ret = i2c_smbus_write_byte_data(data->client,
-					KXCJK1013_REG_CTRL1, ret);
+					KXREG_CTRL1, ret);
 	if (ret < 0) {
 		dev_err(&data->client->dev, "Error writing reg_ctrl1\n");
 		return ret;
@@ -241,13 +250,13 @@ static int kxcjk1013_get_mode(struct kxcjk1013_data *data,
 {
 	int ret;
 
-	ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_CTRL1);
+	ret = i2c_smbus_read_byte_data(data->client, KXREG_CTRL1);
 	if (ret < 0) {
 		dev_err(&data->client->dev, "Error reading reg_ctrl1\n");
 		return ret;
 	}
 
-	if (ret & KXCJK1013_REG_CTRL1_BIT_PC1)
+	if (ret & KXREG_CTRL1_BIT_PC1)
 		*mode = OPERATION;
 	else
 		*mode = STANDBY;
@@ -259,19 +268,19 @@ static int kxcjk1013_set_range(struct kxcjk1013_data *data, int range_index)
 {
 	int ret;
 
-	ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_CTRL1);
+	ret = i2c_smbus_read_byte_data(data->client, KXREG_CTRL1);
 	if (ret < 0) {
 		dev_err(&data->client->dev, "Error reading reg_ctrl1\n");
 		return ret;
 	}
 
-	ret &= ~(KXCJK1013_REG_CTRL1_BIT_GSEL0 |
-		 KXCJK1013_REG_CTRL1_BIT_GSEL1);
+	ret &= ~(KXREG_CTRL1_BIT_GSEL0 |
+		 KXREG_CTRL1_BIT_GSEL1);
 	ret |= (KXCJK1013_scale_table[range_index].gsel_0 << 3);
 	ret |= (KXCJK1013_scale_table[range_index].gsel_1 << 4);
 
 	ret = i2c_smbus_write_byte_data(data->client,
-					KXCJK1013_REG_CTRL1,
+					KXREG_CTRL1,
 					ret);
 	if (ret < 0) {
 		dev_err(&data->client->dev, "Error writing reg_ctrl1\n");
@@ -299,16 +308,16 @@ static int kxcjk1013_chip_init(struct kxcjk1013_data *data)
 	if (ret < 0)
 		return ret;
 
-	ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_CTRL1);
+	ret = i2c_smbus_read_byte_data(data->client, KXREG_CTRL1);
 	if (ret < 0) {
 		dev_err(&data->client->dev, "Error reading reg_ctrl1\n");
 		return ret;
 	}
 
 	/* Set 12 bit mode */
-	ret |= KXCJK1013_REG_CTRL1_BIT_RES;
+	ret |= KXREG_CTRL1_BIT_RES;
 
-	ret = i2c_smbus_write_byte_data(data->client, KXCJK1013_REG_CTRL1,
+	ret = i2c_smbus_write_byte_data(data->client, KXREG_CTRL1,
 					ret);
 	if (ret < 0) {
 		dev_err(&data->client->dev, "Error reading reg_ctrl\n");
@@ -329,18 +338,18 @@ static int kxcjk1013_chip_init(struct kxcjk1013_data *data)
 	data->odr_bits = ret;
 
 	/* Set up INT polarity */
-	ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_INT_CTRL1);
+	ret = i2c_smbus_read_byte_data(data->client, KXREG_INT_CTRL1);
 	if (ret < 0) {
 		dev_err(&data->client->dev, "Error reading reg_int_ctrl1\n");
 		return ret;
 	}
 
 	if (data->active_high_intr)
-		ret |= KXCJK1013_REG_INT_REG1_BIT_IEA;
+		ret |= KXREG_INT_CTRL1_BIT_IEA;
 	else
-		ret &= ~KXCJK1013_REG_INT_REG1_BIT_IEA;
+		ret &= ~KXREG_INT_CTRL1_BIT_IEA;
 
-	ret = i2c_smbus_write_byte_data(data->client, KXCJK1013_REG_INT_CTRL1,
+	ret = i2c_smbus_write_byte_data(data->client, KXREG_INT_CTRL1,
 					ret);
 	if (ret < 0) {
 		dev_err(&data->client->dev, "Error writing reg_int_ctrl1\n");
@@ -437,37 +446,37 @@ static int kxcjk1013_setup_any_motion_interrupt(struct kxcjk1013_data *data,
 	if (ret < 0)
 		return ret;
 
-	ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_INT_CTRL1);
+	ret = i2c_smbus_read_byte_data(data->client, KXREG_INT_CTRL1);
 	if (ret < 0) {
 		dev_err(&data->client->dev, "Error reading reg_int_ctrl1\n");
 		return ret;
 	}
 
 	if (status)
-		ret |= KXCJK1013_REG_INT_REG1_BIT_IEN;
+		ret |= KXREG_INT_CTRL1_BIT_IEN;
 	else
-		ret &= ~KXCJK1013_REG_INT_REG1_BIT_IEN;
+		ret &= ~KXREG_INT_CTRL1_BIT_IEN;
 
-	ret = i2c_smbus_write_byte_data(data->client, KXCJK1013_REG_INT_CTRL1,
+	ret = i2c_smbus_write_byte_data(data->client, KXREG_INT_CTRL1,
 					ret);
 	if (ret < 0) {
 		dev_err(&data->client->dev, "Error writing reg_int_ctrl1\n");
 		return ret;
 	}
 
-	ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_CTRL1);
+	ret = i2c_smbus_read_byte_data(data->client, KXREG_CTRL1);
 	if (ret < 0) {
 		dev_err(&data->client->dev, "Error reading reg_ctrl1\n");
 		return ret;
 	}
 
 	if (status)
-		ret |= KXCJK1013_REG_CTRL1_BIT_WUFE;
+		ret |= KXREG_CTRL1_BIT_WUFE;
 	else
-		ret &= ~KXCJK1013_REG_CTRL1_BIT_WUFE;
+		ret &= ~KXREG_CTRL1_BIT_WUFE;
 
 	ret = i2c_smbus_write_byte_data(data->client,
-					KXCJK1013_REG_CTRL1, ret);
+					KXREG_CTRL1, ret);
 	if (ret < 0) {
 		dev_err(&data->client->dev, "Error writing reg_ctrl1\n");
 		return ret;
@@ -497,37 +506,35 @@ static int kxcjk1013_setup_new_data_interrupt(struct kxcjk1013_data *data,
 	if (ret < 0)
 		return ret;
 
-	ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_INT_CTRL1);
+	ret = i2c_smbus_read_byte_data(data->client, KXREG_INT_CTRL1);
 	if (ret < 0) {
 		dev_err(&data->client->dev, "Error reading reg_int_ctrl1\n");
 		return ret;
 	}
 
 	if (status)
-		ret |= KXCJK1013_REG_INT_REG1_BIT_IEN;
+		ret |= KXREG_INT_CTRL1_BIT_IEN;
 	else
-		ret &= ~KXCJK1013_REG_INT_REG1_BIT_IEN;
+		ret &= ~KXREG_INT_CTRL1_BIT_IEN;
 
-	ret = i2c_smbus_write_byte_data(data->client, KXCJK1013_REG_INT_CTRL1,
-					ret);
+	ret = i2c_smbus_write_byte_data(data->client, KXREG_INT_CTRL1, ret);
 	if (ret < 0) {
 		dev_err(&data->client->dev, "Error writing reg_int_ctrl1\n");
 		return ret;
 	}
 
-	ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_CTRL1);
+	ret = i2c_smbus_read_byte_data(data->client, KXREG_CTRL1);
 	if (ret < 0) {
 		dev_err(&data->client->dev, "Error reading reg_ctrl1\n");
 		return ret;
 	}
 
 	if (status)
-		ret |= KXCJK1013_REG_CTRL1_BIT_DRDY;
+		ret |= KXREG_CTRL1_BIT_DRDY;
 	else
-		ret &= ~KXCJK1013_REG_CTRL1_BIT_DRDY;
+		ret &= ~KXREG_CTRL1_BIT_DRDY;
 
-	ret = i2c_smbus_write_byte_data(data->client,
-					KXCJK1013_REG_CTRL1, ret);
+	ret = i2c_smbus_write_byte_data(data->client, KXREG_CTRL1, ret);
 	if (ret < 0) {
 		dev_err(&data->client->dev, "Error writing reg_ctrl1\n");
 		return ret;
@@ -603,10 +610,10 @@ static int kxcjk1013_set_odr(struct kxcjk1013_data *data, int val, int val2)
 
 	data->odr_bits = odr_setting->odr_bits;
 
-	ret = i2c_smbus_write_byte_data(data->client, KXCJK1013_REG_CTRL2,
+	ret = i2c_smbus_write_byte_data(data->client, KXREG_CTRL3,
 					odr_setting->wuf_bits);
 	if (ret < 0) {
-		dev_err(&data->client->dev, "Error writing reg_ctrl2\n");
+		dev_err(&data->client->dev, "Error writing reg_ctrl3\n");
 		return ret;
 	}
 
@@ -1097,13 +1104,13 @@ static irqreturn_t kxcjk1013_event_handler(int irq, void *private)
 	struct kxcjk1013_data *data = iio_priv(indio_dev);
 	int ret;
 
-	ret = i2c_smbus_read_byte_data(data->client, KXCJK1013_REG_INT_SRC1);
+	ret = i2c_smbus_read_byte_data(data->client, KXREG_INT_SRC_DATA);
 	if (ret < 0) {
 		dev_err(&data->client->dev, "Error reading reg_int_src1\n");
 		goto ack_intr;
 	}
 
-	if (ret & 0x02) {
+	if (ret & KXREG_INT_BIT_WUFS) {
 		kxcjk1013_report_motion_event(indio_dev);
 	}
 
-- 
2.11.0

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux