adis16260.c (75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37) | adis16260.c (160b37f49ec3b3adc6916f411ee3ceebea8dd13d) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * ADIS16260/ADIS16265 Programmable Digital Gyroscope Sensor Driver 4 * 5 * Copyright 2010 Analog Devices Inc. 6 */ 7 8#include <linux/interrupt.h> --- 279 unchanged lines hidden (view full) --- 288 return adis_write_reg_16(adis, addr, val); 289 case IIO_CHAN_INFO_CALIBSCALE: 290 if (val < 0 || val >= 4096) 291 return -EINVAL; 292 293 addr = adis16260_addresses[chan->scan_index][1]; 294 return adis_write_reg_16(adis, addr, val); 295 case IIO_CHAN_INFO_SAMP_FREQ: | 1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * ADIS16260/ADIS16265 Programmable Digital Gyroscope Sensor Driver 4 * 5 * Copyright 2010 Analog Devices Inc. 6 */ 7 8#include <linux/interrupt.h> --- 279 unchanged lines hidden (view full) --- 288 return adis_write_reg_16(adis, addr, val); 289 case IIO_CHAN_INFO_CALIBSCALE: 290 if (val < 0 || val >= 4096) 291 return -EINVAL; 292 293 addr = adis16260_addresses[chan->scan_index][1]; 294 return adis_write_reg_16(adis, addr, val); 295 case IIO_CHAN_INFO_SAMP_FREQ: |
296 mutex_lock(&indio_dev->mlock); | 296 mutex_lock(&adis->state_lock); |
297 if (spi_get_device_id(adis->spi)->driver_data) 298 t = 256 / val; 299 else 300 t = 2048 / val; 301 302 if (t > ADIS16260_SMPL_PRD_DIV_MASK) 303 t = ADIS16260_SMPL_PRD_DIV_MASK; 304 else if (t > 0) 305 t--; 306 307 if (t >= 0x0A) 308 adis->spi->max_speed_hz = ADIS16260_SPI_SLOW; 309 else 310 adis->spi->max_speed_hz = ADIS16260_SPI_FAST; | 297 if (spi_get_device_id(adis->spi)->driver_data) 298 t = 256 / val; 299 else 300 t = 2048 / val; 301 302 if (t > ADIS16260_SMPL_PRD_DIV_MASK) 303 t = ADIS16260_SMPL_PRD_DIV_MASK; 304 else if (t > 0) 305 t--; 306 307 if (t >= 0x0A) 308 adis->spi->max_speed_hz = ADIS16260_SPI_SLOW; 309 else 310 adis->spi->max_speed_hz = ADIS16260_SPI_FAST; |
311 ret = adis_write_reg_8(adis, ADIS16260_SMPL_PRD, t); | 311 ret = __adis_write_reg_8(adis, ADIS16260_SMPL_PRD, t); |
312 | 312 |
313 mutex_unlock(&indio_dev->mlock); | 313 mutex_unlock(&adis->state_lock); |
314 return ret; 315 } 316 return -EINVAL; 317} 318 319static const struct iio_info adis16260_info = { 320 .read_raw = &adis16260_read_raw, 321 .write_raw = &adis16260_write_raw, --- 124 unchanged lines hidden --- | 314 return ret; 315 } 316 return -EINVAL; 317} 318 319static const struct iio_info adis16260_info = { 320 .read_raw = &adis16260_read_raw, 321 .write_raw = &adis16260_write_raw, --- 124 unchanged lines hidden --- |