Title: [8813] trunk/drivers/staging/iio: staging:iio: merge the ADIS16260 driver as was added to mainline

Diff

Modified: trunk/drivers/staging/iio/Kconfig (8812 => 8813)


--- trunk/drivers/staging/iio/Kconfig	2010-05-23 04:21:31 UTC (rev 8812)
+++ trunk/drivers/staging/iio/Kconfig	2010-05-23 04:25:16 UTC (rev 8813)
@@ -43,8 +43,8 @@
 source "drivers/staging/iio/adc/Kconfig"
 source "drivers/staging/iio/dac/Kconfig"
 source "drivers/staging/iio/addac/Kconfig"
+source "drivers/staging/iio/gyro/Kconfig"
 source "drivers/staging/iio/imu/Kconfig"
-source "drivers/staging/iio/gyro/Kconfig"
 source "drivers/staging/iio/light/Kconfig"
 source "drivers/staging/iio/meter/Kconfig"
 source "drivers/staging/iio/resolver/Kconfig"

Modified: trunk/drivers/staging/iio/Makefile (8812 => 8813)


--- trunk/drivers/staging/iio/Makefile	2010-05-23 04:21:31 UTC (rev 8812)
+++ trunk/drivers/staging/iio/Makefile	2010-05-23 04:25:16 UTC (rev 8813)
@@ -13,8 +13,8 @@
 obj-y += adc/
 obj-y += addac/
 obj-y += dac/
+obj-y += gyro/
 obj-y += imu/
-obj-y += gyro/
 obj-y += light/
 obj-y += meter/
 obj-y += resolver/

Modified: trunk/drivers/staging/iio/gyro/Kconfig (8812 => 8813)


--- trunk/drivers/staging/iio/gyro/Kconfig	2010-05-23 04:21:31 UTC (rev 8812)
+++ trunk/drivers/staging/iio/gyro/Kconfig	2010-05-23 04:25:16 UTC (rev 8813)
@@ -2,6 +2,7 @@
 # IIO Digital Gyroscope Sensor drivers configuration
 #
 comment "Digital gyroscope sensors"
+
 config ADIS16060
 	tristate "Analog Devices ADIS16060 Yaw Rate Gyroscope with SPI driver"
 	depends on SPI
@@ -29,8 +30,8 @@
 	select IIO_TRIGGER if IIO_RING_BUFFER
 	select IIO_SW_RING if IIO_RING_BUFFER
 	help
-	  Say yes here to build support for Analog Devices adis16260/5 programmable
-	  digital gyroscope sensor.
+	  Say yes here to build support for Analog Devices adis16260/5
+	  programmable digital gyroscope sensor.
 
 config ADIS16261
 	tristate "Analog Devices ADIS16261 Digital Gyroscope Sensor SPI driver"

Modified: trunk/drivers/staging/iio/gyro/Makefile (8812 => 8813)


--- trunk/drivers/staging/iio/gyro/Makefile	2010-05-23 04:21:31 UTC (rev 8812)
+++ trunk/drivers/staging/iio/gyro/Makefile	2010-05-23 04:25:16 UTC (rev 8813)
@@ -1,6 +1,7 @@
 
 # Makefile for digital gyroscope sensor drivers
 #
+
 adis16060-y             := adis16060_core.o
 obj-$(CONFIG_ADIS16060) += adis16060.o
 

Modified: trunk/drivers/staging/iio/gyro/adis16260.h (8812 => 8813)


--- trunk/drivers/staging/iio/gyro/adis16260.h	2010-05-23 04:21:31 UTC (rev 8812)
+++ trunk/drivers/staging/iio/gyro/adis16260.h	2010-05-23 04:25:16 UTC (rev 8813)
@@ -29,7 +29,8 @@
 #define ADIS16260_GLOB_CMD   0x3E /* Control, global commands */
 #define ADIS16260_LOT_ID1    0x52 /* Lot Identification Code 1 */
 #define ADIS16260_LOT_ID2    0x54 /* Lot Identification Code 2 */
-#define ADIS16260_PROD_ID    0x56 /* Product identifier; convert to decimal = 16,265/16,260 */
+#define ADIS16260_PROD_ID    0x56 /* Product identifier;
+				   * convert to decimal = 16,265/16,260 */
 #define ADIS16260_SERIAL_NUM 0x58 /* Serial number */
 
 #define ADIS16260_OUTPUTS    5
@@ -39,7 +40,8 @@
 
 /* MSC_CTRL */
 #define ADIS16260_MSC_CTRL_MEM_TEST		(1<<11)
-#define ADIS16260_MSC_CTRL_INT_SELF_TEST	(1<<10) /* Internal self-test enable */
+/* Internal self-test enable */
+#define ADIS16260_MSC_CTRL_INT_SELF_TEST	(1<<10)
 #define ADIS16260_MSC_CTRL_NEG_SELF_TEST	(1<<9)
 #define ADIS16260_MSC_CTRL_POS_SELF_TEST	(1<<8)
 #define ADIS16260_MSC_CTRL_DATA_RDY_EN		(1<<2)
@@ -47,7 +49,8 @@
 #define ADIS16260_MSC_CTRL_DATA_RDY_DIO2	(1<<0)
 
 /* SMPL_PRD */
-#define ADIS16260_SMPL_PRD_TIME_BASE	(1<<7) /* Time base (tB): 0 = 1.953 ms, 1 = 60.54 ms */
+/* Time base (tB): 0 = 1.953 ms, 1 = 60.54 ms */
+#define ADIS16260_SMPL_PRD_TIME_BASE	(1<<7)
 #define ADIS16260_SMPL_PRD_DIV_MASK	0x7F
 
 /* SLP_CNT */

Modified: trunk/drivers/staging/iio/gyro/adis16260_core.c (8812 => 8813)


--- trunk/drivers/staging/iio/gyro/adis16260_core.c	2010-05-23 04:21:31 UTC (rev 8812)
+++ trunk/drivers/staging/iio/gyro/adis16260_core.c	2010-05-23 04:25:16 UTC (rev 8813)
@@ -20,8 +20,8 @@
 
 #include "../iio.h"
 #include "../sysfs.h"
+#include "../adc/adc.h"
 #include "gyro.h"
-#include "../imu/volt.h"
 
 #include "adis16260.h"
 
@@ -141,8 +141,9 @@
 	spi_message_add_tail(&xfers[1], &msg);
 	ret = spi_sync(st->us, &msg);
 	if (ret) {
-		dev_err(&st->us->dev, "problem when reading 16 bit register 0x%02X",
-				lower_reg_address);
+		dev_err(&st->us->dev,
+			"problem when reading 16 bit register 0x%02X",
+			lower_reg_address);
 		goto error_ret;
 	}
 	*val = (st->rx[0] << 8) | st->rx[1];
@@ -385,7 +386,7 @@
 	if (status & ADIS16260_DIAG_STAT_FLASH_CHK)
 		dev_err(dev, "Flash checksum error\n");
 	if (status & ADIS16260_DIAG_STAT_SELF_TEST)
-		dev_err(dev, "Self test error \n");
+		dev_err(dev, "Self test error\n");
 	if (status & ADIS16260_DIAG_STAT_OVERFLOW)
 		dev_err(dev, "Sensor overrange\n");
 	if (status & ADIS16260_DIAG_STAT_SPI_FAIL)
@@ -440,9 +441,10 @@
 	return ret;
 }
 
-static IIO_DEV_ATTR_VOLT(supply, adis16260_read_12bit_unsigned,
-		ADIS16260_SUPPLY_OUT);
-static IIO_CONST_ATTR(volt_supply_scale, "0.0018315");
+static IIO_DEV_ATTR_IN_NAMED_RAW(supply,
+				adis16260_read_12bit_unsigned,
+				ADIS16260_SUPPLY_OUT);
+static IIO_CONST_ATTR(in_supply_scale, "0.0018315");
 
 static IIO_DEV_ATTR_GYRO(adis16260_read_14bit_signed,
 		ADIS16260_GYRO_OUT);
@@ -455,13 +457,13 @@
 		adis16260_write_16bit,
 		ADIS16260_GYRO_OFF);
 
-static IIO_DEV_ATTR_TEMP(adis16260_read_12bit_unsigned);
+static IIO_DEV_ATTR_TEMP_RAW(adis16260_read_12bit_unsigned);
 static IIO_CONST_ATTR(temp_offset, "25");
 static IIO_CONST_ATTR(temp_scale, "0.1453");
 
-static IIO_DEV_ATTR_VOLT(aux, adis16260_read_12bit_unsigned,
+static IIO_DEV_ATTR_IN_RAW(0, adis16260_read_12bit_unsigned,
 		ADIS16260_AUX_ADC);
-static IIO_CONST_ATTR(volt_aux_scale, "0.0006105");
+static IIO_CONST_ATTR(in0_scale, "0.0006105");
 
 static IIO_DEV_ATTR_SAMP_FREQ(S_IWUSR | S_IRUGO,
 		adis16260_read_frequency,
@@ -469,7 +471,7 @@
 static IIO_DEV_ATTR_ANGL(adis16260_read_14bit_signed,
 		ADIS16260_ANGL_OUT);
 
-static IIO_DEV_ATTR_RESET(adis16260_write_reset);
+static IIO_DEVICE_ATTR(reset, S_IWUSR, NULL, adis16260_write_reset, 0);
 
 static IIO_CONST_ATTR_AVAIL_SAMP_FREQ("256 2048");
 
@@ -484,17 +486,17 @@
 };
 
 static struct attribute *adis16260_attributes[] = {
-	&iio_dev_attr_volt_supply.dev_attr.attr,
-	&iio_const_attr_volt_supply_scale.dev_attr.attr,
-	&iio_dev_attr_gyro.dev_attr.attr,
+	&iio_dev_attr_in_supply_raw.dev_attr.attr,
+	&iio_const_attr_in_supply_scale.dev_attr.attr,
+	&iio_dev_attr_gyro_raw.dev_attr.attr,
 	&iio_dev_attr_gyro_scale.dev_attr.attr,
 	&iio_dev_attr_gyro_offset.dev_attr.attr,
-	&iio_dev_attr_angl.dev_attr.attr,
-	&iio_dev_attr_temp.dev_attr.attr,
+	&iio_dev_attr_angl_raw.dev_attr.attr,
+	&iio_dev_attr_temp_raw.dev_attr.attr,
 	&iio_const_attr_temp_offset.dev_attr.attr,
 	&iio_const_attr_temp_scale.dev_attr.attr,
-	&iio_dev_attr_volt_aux.dev_attr.attr,
-	&iio_const_attr_volt_aux_scale.dev_attr.attr,
+	&iio_dev_attr_in0_raw.dev_attr.attr,
+	&iio_const_attr_in0_scale.dev_attr.attr,
 	&iio_dev_attr_sampling_frequency.dev_attr.attr,
 	&iio_const_attr_available_sampling_frequency.dev_attr.attr,
 	&iio_dev_attr_reset.dev_attr.attr,
@@ -655,5 +657,5 @@
 module_exit(adis16260_exit);
 
 MODULE_AUTHOR("Barry Song <[email protected]>");
-MODULE_DESCRIPTION("Analog Devices ADIS16260/5 Digital Gyroscope Sensor SPI driver");
+MODULE_DESCRIPTION("Analog Devices ADIS16260/5 Digital Gyroscope Sensor");
 MODULE_LICENSE("GPL v2");

Modified: trunk/drivers/staging/iio/gyro/adis16260_ring.c (8812 => 8813)


--- trunk/drivers/staging/iio/gyro/adis16260_ring.c	2010-05-23 04:21:31 UTC (rev 8812)
+++ trunk/drivers/staging/iio/gyro/adis16260_ring.c	2010-05-23 04:25:16 UTC (rev 8813)
@@ -37,7 +37,7 @@
 static IIO_SCAN_EL_C(angl, ADIS16260_SCAN_ANGL, IIO_UNSIGNED(12),
 		ADIS16260_ANGL_OUT, NULL);
 
-static IIO_SCAN_EL_TIMESTAMP;
+static IIO_SCAN_EL_TIMESTAMP(5);
 
 static struct attribute *adis16260_scan_el_attrs[] = {
 	&iio_scan_el_supply.dev_attr.attr,
@@ -91,9 +91,13 @@
 		xfers[i].delay_usecs = 30;
 		xfers[i].tx_buf = st->tx + 2 * i;
 		if (i < 2) /* SUPPLY_OUT:0x02 GYRO_OUT:0x04 */
-			st->tx[2 * i] = ADIS16260_READ_REG(ADIS16260_SUPPLY_OUT + 2 * i);
+			st->tx[2 * i]
+				= ADIS16260_READ_REG(ADIS16260_SUPPLY_OUT
+						+ 2 * i);
 		else /* 0x06 to 0x09 is reserved */
-			st->tx[2 * i] = ADIS16260_READ_REG(ADIS16260_SUPPLY_OUT + 2 * i + 4);
+			st->tx[2 * i]
+				= ADIS16260_READ_REG(ADIS16260_SUPPLY_OUT
+						+ 2 * i + 4);
 		st->tx[2 * i + 1] = 0;
 		if (i >= 1)
 			xfers[i].rx_buf = rx + 2 * (i - 1);
@@ -159,8 +163,10 @@
 	if (indio_dev->ring->access.set_bpd) {
 		if (indio_dev->scan_timestamp)
 			if (indio_dev->scan_count)
-				/* Timestamp and data, let timestamp aligned with sizeof(s64) */
-				size = (((indio_dev->scan_count * sizeof(s16)) + sizeof(s64) - 1) & ~(sizeof(s64) - 1))
+				/* Timestamp (aligned s64) and data */
+				size = (((indio_dev->scan_count * sizeof(s16))
+						+ sizeof(s64) - 1)
+					& ~(sizeof(s64) - 1))
 					+ sizeof(s64);
 			else /* Timestamp only  */
 				size = sizeof(s64);
@@ -241,7 +247,7 @@
 
 int adis16260_initialize_ring(struct iio_ring_buffer *ring)
 {
-	return iio_ring_buffer_register(ring);
+	return iio_ring_buffer_register(ring, 0);
 }
 
 void adis16260_uninitialize_ring(struct iio_ring_buffer *ring)

Modified: trunk/drivers/staging/iio/gyro/gyro.h (8812 => 8813)


--- trunk/drivers/staging/iio/gyro/gyro.h	2010-05-23 04:21:31 UTC (rev 8812)
+++ trunk/drivers/staging/iio/gyro/gyro.h	2010-05-23 04:25:16 UTC (rev 8813)
@@ -39,3 +39,5 @@
 #define IIO_DEV_ATTR_GYRO_Z(_show, _addr)			\
 	IIO_DEVICE_ATTR(gyro_z_raw, S_IRUGO, _show, NULL, _addr)
 
+#define IIO_DEV_ATTR_ANGL(_show, _addr)                         \
+	IIO_DEVICE_ATTR(angl_raw, S_IRUGO, _show, NULL, _addr)
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to