Commit c5522822 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'char-misc-6.12-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc

Pull misc driver fixes from Greg KH:
 "Here are a number of small char/misc/iio driver fixes for 6.12-rc4:

   - loads of small iio driver fixes for reported problems

   - parport driver out-of-bounds fix

   - Kconfig description and MAINTAINERS file updates

  All of these, except for the Kconfig and MAINTAINERS file updates have
  been in linux-next all week. Those other two are just documentation
  changes and will have no runtime issues and were merged on Friday"

* tag 'char-misc-6.12-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (39 commits)
  misc: rtsx: list supported models in Kconfig help
  MAINTAINERS: Remove some entries due to various compliance requirements.
  misc: microchip: pci1xxxx: add support for NVMEM_DEVID_AUTO for OTP device
  misc: microchip: pci1xxxx: add support for NVMEM_DEVID_AUTO for EEPROM device
  parport: Proper fix for array out-of-bounds access
  iio: frequency: admv4420: fix missing select REMAP_SPI in Kconfig
  iio: frequency: {admv4420,adrf6780}: format Kconfig entries
  iio: adc: ad4695: Add missing Kconfig select
  iio: adc: ti-ads8688: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig
  iio: hid-sensors: Fix an error handling path in _hid_sensor_set_report_latency()
  iioc: dac: ltc2664: Fix span variable usage in ltc2664_channel_config()
  iio: dac: stm32-dac-core: add missing select REGMAP_MMIO in Kconfig
  iio: dac: ltc1660: add missing select REGMAP_SPI in Kconfig
  iio: dac: ad5770r: add missing select REGMAP_SPI in Kconfig
  iio: amplifiers: ada4250: add missing select REGMAP_SPI in Kconfig
  iio: frequency: adf4377: add missing select REMAP_SPI in Kconfig
  iio: resolver: ad2s1210: add missing select (TRIGGERED_)BUFFER in Kconfig
  iio: resolver: ad2s1210 add missing select REGMAP in Kconfig
  iio: proximity: mb1232: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig
  iio: pressure: bm1390: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig
  ...
parents c01ac4b9 9b673c75
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
$id: http://devicetree.org/schemas/iio/dac/adi,ad5686.yaml# $id: http://devicetree.org/schemas/iio/dac/adi,ad5686.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Analog Devices AD5360 and similar DACs title: Analog Devices AD5360 and similar SPI DACs
maintainers: maintainers:
- Michael Hennerich <michael.hennerich@analog.com> - Michael Hennerich <michael.hennerich@analog.com>
...@@ -12,41 +12,22 @@ maintainers: ...@@ -12,41 +12,22 @@ maintainers:
properties: properties:
compatible: compatible:
oneOf: enum:
- description: SPI devices - adi,ad5310r
enum: - adi,ad5672r
- adi,ad5310r - adi,ad5674r
- adi,ad5672r - adi,ad5676
- adi,ad5674r - adi,ad5676r
- adi,ad5676 - adi,ad5679r
- adi,ad5676r - adi,ad5681r
- adi,ad5679r - adi,ad5682r
- adi,ad5681r - adi,ad5683
- adi,ad5682r - adi,ad5683r
- adi,ad5683 - adi,ad5684
- adi,ad5683r - adi,ad5684r
- adi,ad5684 - adi,ad5685r
- adi,ad5684r - adi,ad5686
- adi,ad5685r - adi,ad5686r
- adi,ad5686
- adi,ad5686r
- description: I2C devices
enum:
- adi,ad5311r
- adi,ad5337r
- adi,ad5338r
- adi,ad5671r
- adi,ad5675r
- adi,ad5691r
- adi,ad5692r
- adi,ad5693
- adi,ad5693r
- adi,ad5694
- adi,ad5694r
- adi,ad5695r
- adi,ad5696
- adi,ad5696r
reg: reg:
maxItems: 1 maxItems: 1
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
$id: http://devicetree.org/schemas/iio/dac/adi,ad5696.yaml# $id: http://devicetree.org/schemas/iio/dac/adi,ad5696.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Analog Devices AD5696 and similar multi-channel DACs title: Analog Devices AD5696 and similar I2C multi-channel DACs
maintainers: maintainers:
- Michael Auchter <michael.auchter@ni.com> - Michael Auchter <michael.auchter@ni.com>
...@@ -16,6 +16,7 @@ properties: ...@@ -16,6 +16,7 @@ properties:
compatible: compatible:
enum: enum:
- adi,ad5311r - adi,ad5311r
- adi,ad5337r
- adi,ad5338r - adi,ad5338r
- adi,ad5671r - adi,ad5671r
- adi,ad5675r - adi,ad5675r
......
This diff is collapsed.
...@@ -447,6 +447,8 @@ config IIO_ST_ACCEL_SPI_3AXIS ...@@ -447,6 +447,8 @@ config IIO_ST_ACCEL_SPI_3AXIS
config IIO_KX022A config IIO_KX022A
tristate tristate
select IIO_BUFFER
select IIO_TRIGGERED_BUFFER
config IIO_KX022A_SPI config IIO_KX022A_SPI
tristate "Kionix KX022A tri-axis digital accelerometer SPI interface" tristate "Kionix KX022A tri-axis digital accelerometer SPI interface"
......
...@@ -1218,7 +1218,8 @@ static int bma400_activity_event_en(struct bma400_data *data, ...@@ -1218,7 +1218,8 @@ static int bma400_activity_event_en(struct bma400_data *data,
static int bma400_tap_event_en(struct bma400_data *data, static int bma400_tap_event_en(struct bma400_data *data,
enum iio_event_direction dir, int state) enum iio_event_direction dir, int state)
{ {
unsigned int mask, field_value; unsigned int mask;
unsigned int field_value = 0;
int ret; int ret;
/* /*
......
...@@ -52,6 +52,8 @@ config AD4695 ...@@ -52,6 +52,8 @@ config AD4695
tristate "Analog Device AD4695 ADC Driver" tristate "Analog Device AD4695 ADC Driver"
depends on SPI depends on SPI
select REGMAP_SPI select REGMAP_SPI
select IIO_BUFFER
select IIO_TRIGGERED_BUFFER
help help
Say yes here to build support for Analog Devices AD4695 and similar Say yes here to build support for Analog Devices AD4695 and similar
analog to digital converters (ADC). analog to digital converters (ADC).
...@@ -328,6 +330,8 @@ config AD7923 ...@@ -328,6 +330,8 @@ config AD7923
config AD7944 config AD7944
tristate "Analog Devices AD7944 and similar ADCs driver" tristate "Analog Devices AD7944 and similar ADCs driver"
depends on SPI depends on SPI
select IIO_BUFFER
select IIO_TRIGGERED_BUFFER
help help
Say yes here to build support for Analog Devices Say yes here to build support for Analog Devices
AD7944, AD7985, AD7986 ADCs. AD7944, AD7985, AD7986 ADCs.
...@@ -1481,6 +1485,8 @@ config TI_ADS8344 ...@@ -1481,6 +1485,8 @@ config TI_ADS8344
config TI_ADS8688 config TI_ADS8688
tristate "Texas Instruments ADS8688" tristate "Texas Instruments ADS8688"
depends on SPI depends on SPI
select IIO_BUFFER
select IIO_TRIGGERED_BUFFER
help help
If you say yes here you get support for Texas Instruments ADS8684 and If you say yes here you get support for Texas Instruments ADS8684 and
and ADS8688 ADC chips and ADS8688 ADC chips
...@@ -1491,6 +1497,8 @@ config TI_ADS8688 ...@@ -1491,6 +1497,8 @@ config TI_ADS8688
config TI_ADS124S08 config TI_ADS124S08
tristate "Texas Instruments ADS124S08" tristate "Texas Instruments ADS124S08"
depends on SPI depends on SPI
select IIO_BUFFER
select IIO_TRIGGERED_BUFFER
help help
If you say yes here you get support for Texas Instruments ADS124S08 If you say yes here you get support for Texas Instruments ADS124S08
and ADS124S06 ADC chips and ADS124S06 ADC chips
...@@ -1525,6 +1533,9 @@ config TI_AM335X_ADC ...@@ -1525,6 +1533,9 @@ config TI_AM335X_ADC
config TI_LMP92064 config TI_LMP92064
tristate "Texas Instruments LMP92064 ADC driver" tristate "Texas Instruments LMP92064 ADC driver"
depends on SPI depends on SPI
select REGMAP_SPI
select IIO_BUFFER
select IIO_TRIGGERED_BUFFER
help help
Say yes here to build support for the LMP92064 Precision Current and Voltage Say yes here to build support for the LMP92064 Precision Current and Voltage
sensor. sensor.
......
...@@ -27,6 +27,7 @@ config AD8366 ...@@ -27,6 +27,7 @@ config AD8366
config ADA4250 config ADA4250
tristate "Analog Devices ADA4250 Instrumentation Amplifier" tristate "Analog Devices ADA4250 Instrumentation Amplifier"
depends on SPI depends on SPI
select REGMAP_SPI
help help
Say yes here to build support for Analog Devices ADA4250 Say yes here to build support for Analog Devices ADA4250
SPI Amplifier's support. The driver provides direct access via SPI Amplifier's support. The driver provides direct access via
......
...@@ -80,6 +80,8 @@ config ENS160 ...@@ -80,6 +80,8 @@ config ENS160
tristate "ScioSense ENS160 sensor driver" tristate "ScioSense ENS160 sensor driver"
depends on (I2C || SPI) depends on (I2C || SPI)
select REGMAP select REGMAP
select IIO_BUFFER
select IIO_TRIGGERED_BUFFER
select ENS160_I2C if I2C select ENS160_I2C if I2C
select ENS160_SPI if SPI select ENS160_SPI if SPI
help help
......
...@@ -32,7 +32,7 @@ static ssize_t _hid_sensor_set_report_latency(struct device *dev, ...@@ -32,7 +32,7 @@ static ssize_t _hid_sensor_set_report_latency(struct device *dev,
latency = integer * 1000 + fract / 1000; latency = integer * 1000 + fract / 1000;
ret = hid_sensor_set_report_latency(attrb, latency); ret = hid_sensor_set_report_latency(attrb, latency);
if (ret < 0) if (ret < 0)
return len; return ret;
attrb->latency_ms = hid_sensor_get_report_latency(attrb); attrb->latency_ms = hid_sensor_get_report_latency(attrb);
......
...@@ -9,6 +9,8 @@ menu "Digital to analog converters" ...@@ -9,6 +9,8 @@ menu "Digital to analog converters"
config AD3552R config AD3552R
tristate "Analog Devices AD3552R DAC driver" tristate "Analog Devices AD3552R DAC driver"
depends on SPI_MASTER depends on SPI_MASTER
select IIO_BUFFER
select IIO_TRIGGERED_BUFFER
help help
Say yes here to build support for Analog Devices AD3552R Say yes here to build support for Analog Devices AD3552R
Digital to Analog Converter. Digital to Analog Converter.
...@@ -252,6 +254,8 @@ config AD5764 ...@@ -252,6 +254,8 @@ config AD5764
config AD5766 config AD5766
tristate "Analog Devices AD5766/AD5767 DAC driver" tristate "Analog Devices AD5766/AD5767 DAC driver"
depends on SPI_MASTER depends on SPI_MASTER
select IIO_BUFFER
select IIO_TRIGGERED_BUFFER
help help
Say yes here to build support for Analog Devices AD5766, AD5767 Say yes here to build support for Analog Devices AD5766, AD5767
Digital to Analog Converter. Digital to Analog Converter.
...@@ -262,6 +266,7 @@ config AD5766 ...@@ -262,6 +266,7 @@ config AD5766
config AD5770R config AD5770R
tristate "Analog Devices AD5770R IDAC driver" tristate "Analog Devices AD5770R IDAC driver"
depends on SPI_MASTER depends on SPI_MASTER
select REGMAP_SPI
help help
Say yes here to build support for Analog Devices AD5770R Digital to Say yes here to build support for Analog Devices AD5770R Digital to
Analog Converter. Analog Converter.
...@@ -353,6 +358,7 @@ config LPC18XX_DAC ...@@ -353,6 +358,7 @@ config LPC18XX_DAC
config LTC1660 config LTC1660
tristate "Linear Technology LTC1660/LTC1665 DAC SPI driver" tristate "Linear Technology LTC1660/LTC1665 DAC SPI driver"
depends on SPI depends on SPI
select REGMAP_SPI
help help
Say yes here to build support for Linear Technology Say yes here to build support for Linear Technology
LTC1660 and LTC1665 Digital to Analog Converters. LTC1660 and LTC1665 Digital to Analog Converters.
...@@ -483,6 +489,7 @@ config STM32_DAC ...@@ -483,6 +489,7 @@ config STM32_DAC
config STM32_DAC_CORE config STM32_DAC_CORE
tristate tristate
select REGMAP_MMIO
config TI_DAC082S085 config TI_DAC082S085
tristate "Texas Instruments 8/10/12-bit 2/4-channel DAC driver" tristate "Texas Instruments 8/10/12-bit 2/4-channel DAC driver"
......
...@@ -516,7 +516,7 @@ static int ltc2664_channel_config(struct ltc2664_state *st) ...@@ -516,7 +516,7 @@ static int ltc2664_channel_config(struct ltc2664_state *st)
const struct ltc2664_chip_info *chip_info = st->chip_info; const struct ltc2664_chip_info *chip_info = st->chip_info;
struct device *dev = &st->spi->dev; struct device *dev = &st->spi->dev;
u32 reg, tmp[2], mspan; u32 reg, tmp[2], mspan;
int ret, span = 0; int ret;
mspan = LTC2664_MSPAN_SOFTSPAN; mspan = LTC2664_MSPAN_SOFTSPAN;
ret = device_property_read_u32(dev, "adi,manual-span-operation-config", ret = device_property_read_u32(dev, "adi,manual-span-operation-config",
...@@ -579,20 +579,21 @@ static int ltc2664_channel_config(struct ltc2664_state *st) ...@@ -579,20 +579,21 @@ static int ltc2664_channel_config(struct ltc2664_state *st)
ret = fwnode_property_read_u32_array(child, "output-range-microvolt", ret = fwnode_property_read_u32_array(child, "output-range-microvolt",
tmp, ARRAY_SIZE(tmp)); tmp, ARRAY_SIZE(tmp));
if (!ret && mspan == LTC2664_MSPAN_SOFTSPAN) { if (!ret && mspan == LTC2664_MSPAN_SOFTSPAN) {
chan->span = ltc2664_set_span(st, tmp[0] / 1000, ret = ltc2664_set_span(st, tmp[0] / 1000, tmp[1] / 1000, reg);
tmp[1] / 1000, reg); if (ret < 0)
if (span < 0) return dev_err_probe(dev, ret,
return dev_err_probe(dev, span,
"Failed to set span\n"); "Failed to set span\n");
chan->span = ret;
} }
ret = fwnode_property_read_u32_array(child, "output-range-microamp", ret = fwnode_property_read_u32_array(child, "output-range-microamp",
tmp, ARRAY_SIZE(tmp)); tmp, ARRAY_SIZE(tmp));
if (!ret) { if (!ret) {
chan->span = ltc2664_set_span(st, 0, tmp[1] / 1000, reg); ret = ltc2664_set_span(st, 0, tmp[1] / 1000, reg);
if (span < 0) if (ret < 0)
return dev_err_probe(dev, span, return dev_err_probe(dev, ret,
"Failed to set span\n"); "Failed to set span\n");
chan->span = ret;
} }
} }
......
...@@ -53,6 +53,7 @@ config ADF4371 ...@@ -53,6 +53,7 @@ config ADF4371
config ADF4377 config ADF4377
tristate "Analog Devices ADF4377 Microwave Wideband Synthesizer" tristate "Analog Devices ADF4377 Microwave Wideband Synthesizer"
depends on SPI && COMMON_CLK depends on SPI && COMMON_CLK
select REGMAP_SPI
help help
Say yes here to build support for Analog Devices ADF4377 Microwave Say yes here to build support for Analog Devices ADF4377 Microwave
Wideband Synthesizer. Wideband Synthesizer.
...@@ -91,25 +92,26 @@ config ADMV1014 ...@@ -91,25 +92,26 @@ config ADMV1014
module will be called admv1014. module will be called admv1014.
config ADMV4420 config ADMV4420
tristate "Analog Devices ADMV4420 K Band Downconverter" tristate "Analog Devices ADMV4420 K Band Downconverter"
depends on SPI depends on SPI
help select REGMAP_SPI
Say yes here to build support for Analog Devices K Band help
Downconverter with integrated Fractional-N PLL and VCO. Say yes here to build support for Analog Devices K Band
Downconverter with integrated Fractional-N PLL and VCO.
To compile this driver as a module, choose M here: the To compile this driver as a module, choose M here: the
module will be called admv4420. module will be called admv4420.
config ADRF6780 config ADRF6780
tristate "Analog Devices ADRF6780 Microwave Upconverter" tristate "Analog Devices ADRF6780 Microwave Upconverter"
depends on SPI depends on SPI
depends on COMMON_CLK depends on COMMON_CLK
help help
Say yes here to build support for Analog Devices ADRF6780 Say yes here to build support for Analog Devices ADRF6780
5.9 GHz to 23.6 GHz, Wideband, Microwave Upconverter. 5.9 GHz to 23.6 GHz, Wideband, Microwave Upconverter.
To compile this driver as a module, choose M here: the To compile this driver as a module, choose M here: the
module will be called adrf6780. module will be called adrf6780.
endmenu endmenu
endmenu endmenu
...@@ -2172,7 +2172,6 @@ int bmi323_core_probe(struct device *dev) ...@@ -2172,7 +2172,6 @@ int bmi323_core_probe(struct device *dev)
} }
EXPORT_SYMBOL_NS_GPL(bmi323_core_probe, IIO_BMI323); EXPORT_SYMBOL_NS_GPL(bmi323_core_probe, IIO_BMI323);
#if defined(CONFIG_PM)
static int bmi323_core_runtime_suspend(struct device *dev) static int bmi323_core_runtime_suspend(struct device *dev)
{ {
struct iio_dev *indio_dev = dev_get_drvdata(dev); struct iio_dev *indio_dev = dev_get_drvdata(dev);
...@@ -2199,12 +2198,12 @@ static int bmi323_core_runtime_suspend(struct device *dev) ...@@ -2199,12 +2198,12 @@ static int bmi323_core_runtime_suspend(struct device *dev)
} }
for (unsigned int i = 0; i < ARRAY_SIZE(bmi323_ext_reg_savestate); i++) { for (unsigned int i = 0; i < ARRAY_SIZE(bmi323_ext_reg_savestate); i++) {
ret = bmi323_read_ext_reg(data, bmi323_reg_savestate[i], ret = bmi323_read_ext_reg(data, bmi323_ext_reg_savestate[i],
&savestate->reg_settings[i]); &savestate->ext_reg_settings[i]);
if (ret) { if (ret) {
dev_err(data->dev, dev_err(data->dev,
"Error reading bmi323 external reg 0x%x: %d\n", "Error reading bmi323 external reg 0x%x: %d\n",
bmi323_reg_savestate[i], ret); bmi323_ext_reg_savestate[i], ret);
return ret; return ret;
} }
} }
...@@ -2232,8 +2231,10 @@ static int bmi323_core_runtime_resume(struct device *dev) ...@@ -2232,8 +2231,10 @@ static int bmi323_core_runtime_resume(struct device *dev)
* after being reset in the lower power state by runtime-pm. * after being reset in the lower power state by runtime-pm.
*/ */
ret = bmi323_init(data); ret = bmi323_init(data);
if (!ret) if (ret) {
dev_err(data->dev, "Device power-on and init failed: %d", ret);
return ret; return ret;
}
/* Register must be cleared before changing an active config */ /* Register must be cleared before changing an active config */
ret = regmap_write(data->regmap, BMI323_FEAT_IO0_REG, 0); ret = regmap_write(data->regmap, BMI323_FEAT_IO0_REG, 0);
...@@ -2243,12 +2244,12 @@ static int bmi323_core_runtime_resume(struct device *dev) ...@@ -2243,12 +2244,12 @@ static int bmi323_core_runtime_resume(struct device *dev)
} }
for (unsigned int i = 0; i < ARRAY_SIZE(bmi323_ext_reg_savestate); i++) { for (unsigned int i = 0; i < ARRAY_SIZE(bmi323_ext_reg_savestate); i++) {
ret = bmi323_write_ext_reg(data, bmi323_reg_savestate[i], ret = bmi323_write_ext_reg(data, bmi323_ext_reg_savestate[i],
savestate->reg_settings[i]); savestate->ext_reg_settings[i]);
if (ret) { if (ret) {
dev_err(data->dev, dev_err(data->dev,
"Error writing bmi323 external reg 0x%x: %d\n", "Error writing bmi323 external reg 0x%x: %d\n",
bmi323_reg_savestate[i], ret); bmi323_ext_reg_savestate[i], ret);
return ret; return ret;
} }
} }
...@@ -2293,11 +2294,9 @@ static int bmi323_core_runtime_resume(struct device *dev) ...@@ -2293,11 +2294,9 @@ static int bmi323_core_runtime_resume(struct device *dev)
return iio_device_resume_triggering(indio_dev); return iio_device_resume_triggering(indio_dev);
} }
#endif
const struct dev_pm_ops bmi323_core_pm_ops = { const struct dev_pm_ops bmi323_core_pm_ops = {
SET_RUNTIME_PM_OPS(bmi323_core_runtime_suspend, RUNTIME_PM_OPS(bmi323_core_runtime_suspend,
bmi323_core_runtime_resume, NULL) bmi323_core_runtime_resume, NULL)
}; };
EXPORT_SYMBOL_NS_GPL(bmi323_core_pm_ops, IIO_BMI323); EXPORT_SYMBOL_NS_GPL(bmi323_core_pm_ops, IIO_BMI323);
......
...@@ -335,6 +335,8 @@ config ROHM_BU27008 ...@@ -335,6 +335,8 @@ config ROHM_BU27008
depends on I2C depends on I2C
select REGMAP_I2C select REGMAP_I2C
select IIO_GTS_HELPER select IIO_GTS_HELPER
select IIO_BUFFER
select IIO_TRIGGERED_BUFFER
help help
Enable support for the ROHM BU27008 color sensor. Enable support for the ROHM BU27008 color sensor.
The ROHM BU27008 is a sensor with 5 photodiodes (red, green, The ROHM BU27008 is a sensor with 5 photodiodes (red, green,
......
...@@ -138,6 +138,10 @@ static const struct opt3001_scale opt3001_scales[] = { ...@@ -138,6 +138,10 @@ static const struct opt3001_scale opt3001_scales[] = {
.val = 20966, .val = 20966,
.val2 = 400000, .val2 = 400000,
}, },
{
.val = 41932,
.val2 = 800000,
},
{ {
.val = 83865, .val = 83865,
.val2 = 600000, .val2 = 600000,
......
...@@ -99,9 +99,8 @@ static const char * const period_values[] = { ...@@ -99,9 +99,8 @@ static const char * const period_values[] = {
static ssize_t in_illuminance_period_available_show(struct device *dev, static ssize_t in_illuminance_period_available_show(struct device *dev,
struct device_attribute *attr, char *buf) struct device_attribute *attr, char *buf)
{ {
struct veml6030_data *data = iio_priv(dev_to_iio_dev(dev));
int ret, reg, x; int ret, reg, x;
struct iio_dev *indio_dev = i2c_get_clientdata(to_i2c_client(dev));
struct veml6030_data *data = iio_priv(indio_dev);
ret = regmap_read(data->regmap, VEML6030_REG_ALS_CONF, &reg); ret = regmap_read(data->regmap, VEML6030_REG_ALS_CONF, &reg);
if (ret) { if (ret) {
...@@ -780,7 +779,7 @@ static int veml6030_hw_init(struct iio_dev *indio_dev) ...@@ -780,7 +779,7 @@ static int veml6030_hw_init(struct iio_dev *indio_dev)
/* Cache currently active measurement parameters */ /* Cache currently active measurement parameters */
data->cur_gain = 3; data->cur_gain = 3;
data->cur_resolution = 4608; data->cur_resolution = 5376;
data->cur_integration_time = 3; data->cur_integration_time = 3;
return ret; return ret;
......
...@@ -11,6 +11,8 @@ config AF8133J ...@@ -11,6 +11,8 @@ config AF8133J
depends on I2C depends on I2C
depends on OF depends on OF
select REGMAP_I2C select REGMAP_I2C
select IIO_BUFFER
select IIO_TRIGGERED_BUFFER
help help
Say yes here to build support for Voltafield AF8133J I2C-based Say yes here to build support for Voltafield AF8133J I2C-based
3-axis magnetometer chip. 3-axis magnetometer chip.
......
...@@ -19,6 +19,9 @@ config ABP060MG ...@@ -19,6 +19,9 @@ config ABP060MG
config ROHM_BM1390 config ROHM_BM1390
tristate "ROHM BM1390GLV-Z pressure sensor driver" tristate "ROHM BM1390GLV-Z pressure sensor driver"
depends on I2C depends on I2C
select REGMAP_I2C
select IIO_BUFFER
select IIO_TRIGGERED_BUFFER
help help
Support for the ROHM BM1390 pressure sensor. The BM1390GLV-Z Support for the ROHM BM1390 pressure sensor. The BM1390GLV-Z
can measure pressures ranging from 300 hPa to 1300 hPa with can measure pressures ranging from 300 hPa to 1300 hPa with
...@@ -253,6 +256,7 @@ config MS5637 ...@@ -253,6 +256,7 @@ config MS5637
config SDP500 config SDP500
tristate "Sensirion SDP500 differential pressure sensor I2C driver" tristate "Sensirion SDP500 differential pressure sensor I2C driver"
depends on I2C depends on I2C
select CRC8
help help
Say Y here to build support for Sensirion SDP500 differential pressure Say Y here to build support for Sensirion SDP500 differential pressure
sensor I2C driver. sensor I2C driver.
......
...@@ -86,6 +86,8 @@ config LIDAR_LITE_V2 ...@@ -86,6 +86,8 @@ config LIDAR_LITE_V2
config MB1232 config MB1232
tristate "MaxSonar I2CXL family ultrasonic sensors" tristate "MaxSonar I2CXL family ultrasonic sensors"
depends on I2C depends on I2C
select IIO_BUFFER
select IIO_TRIGGERED_BUFFER
help help
Say Y to build a driver for the ultrasonic sensors I2CXL of Say Y to build a driver for the ultrasonic sensors I2CXL of
MaxBotix which have an i2c interface. It can be used to measure MaxBotix which have an i2c interface. It can be used to measure
......
...@@ -31,6 +31,9 @@ config AD2S1210 ...@@ -31,6 +31,9 @@ config AD2S1210
depends on SPI depends on SPI
depends on COMMON_CLK depends on COMMON_CLK
depends on GPIOLIB || COMPILE_TEST depends on GPIOLIB || COMPILE_TEST
select REGMAP
select IIO_BUFFER
select IIO_TRIGGERED_BUFFER
help help
Say yes here to build support for Analog Devices spi resolver Say yes here to build support for Analog Devices spi resolver
to digital converters, ad2s1210, provides direct access via sysfs. to digital converters, ad2s1210, provides direct access via sysfs.
......
...@@ -16,7 +16,8 @@ config MISC_RTSX_PCI ...@@ -16,7 +16,8 @@ config MISC_RTSX_PCI
select MFD_CORE select MFD_CORE
help help
This supports for Realtek PCI-Express card reader including rts5209, This supports for Realtek PCI-Express card reader including rts5209,
rts5227, rts522A, rts5229, rts5249, rts524A, rts525A, rtl8411, rts5260. rts5227, rts5228, rts522A, rts5229, rts5249, rts524A, rts525A, rtl8411,
rts5260, rts5261, rts5264.
Realtek card readers support access to many types of memory cards, Realtek card readers support access to many types of memory cards,
such as Memory Stick, Memory Stick Pro, Secure Digital and such as Memory Stick, Memory Stick Pro, Secure Digital and
MultiMediaCard. MultiMediaCard.
......
...@@ -364,6 +364,7 @@ static int pci1xxxx_otp_eeprom_probe(struct auxiliary_device *aux_dev, ...@@ -364,6 +364,7 @@ static int pci1xxxx_otp_eeprom_probe(struct auxiliary_device *aux_dev,
if (is_eeprom_responsive(priv)) { if (is_eeprom_responsive(priv)) {
priv->nvmem_config_eeprom.type = NVMEM_TYPE_EEPROM; priv->nvmem_config_eeprom.type = NVMEM_TYPE_EEPROM;
priv->nvmem_config_eeprom.name = EEPROM_NAME; priv->nvmem_config_eeprom.name = EEPROM_NAME;
priv->nvmem_config_eeprom.id = NVMEM_DEVID_AUTO;
priv->nvmem_config_eeprom.dev = &aux_dev->dev; priv->nvmem_config_eeprom.dev = &aux_dev->dev;
priv->nvmem_config_eeprom.owner = THIS_MODULE; priv->nvmem_config_eeprom.owner = THIS_MODULE;
priv->nvmem_config_eeprom.reg_read = pci1xxxx_eeprom_read; priv->nvmem_config_eeprom.reg_read = pci1xxxx_eeprom_read;
...@@ -383,6 +384,7 @@ static int pci1xxxx_otp_eeprom_probe(struct auxiliary_device *aux_dev, ...@@ -383,6 +384,7 @@ static int pci1xxxx_otp_eeprom_probe(struct auxiliary_device *aux_dev,
priv->nvmem_config_otp.type = NVMEM_TYPE_OTP; priv->nvmem_config_otp.type = NVMEM_TYPE_OTP;
priv->nvmem_config_otp.name = OTP_NAME; priv->nvmem_config_otp.name = OTP_NAME;
priv->nvmem_config_otp.id = NVMEM_DEVID_AUTO;
priv->nvmem_config_otp.dev = &aux_dev->dev; priv->nvmem_config_otp.dev = &aux_dev->dev;
priv->nvmem_config_otp.owner = THIS_MODULE; priv->nvmem_config_otp.owner = THIS_MODULE;
priv->nvmem_config_otp.reg_read = pci1xxxx_otp_read; priv->nvmem_config_otp.reg_read = pci1xxxx_otp_read;
......
...@@ -51,12 +51,12 @@ static int do_active_device(const struct ctl_table *table, int write, ...@@ -51,12 +51,12 @@ static int do_active_device(const struct ctl_table *table, int write,
for (dev = port->devices; dev ; dev = dev->next) { for (dev = port->devices; dev ; dev = dev->next) {
if(dev == port->cad) { if(dev == port->cad) {
len += snprintf(buffer, sizeof(buffer), "%s\n", dev->name); len += scnprintf(buffer, sizeof(buffer), "%s\n", dev->name);
} }
} }
if(!len) { if(!len) {
len += snprintf(buffer, sizeof(buffer), "%s\n", "none"); len += scnprintf(buffer, sizeof(buffer), "%s\n", "none");
} }
if (len > *lenp) if (len > *lenp)
...@@ -87,19 +87,19 @@ static int do_autoprobe(const struct ctl_table *table, int write, ...@@ -87,19 +87,19 @@ static int do_autoprobe(const struct ctl_table *table, int write,
} }
if ((str = info->class_name) != NULL) if ((str = info->class_name) != NULL)
len += snprintf (buffer + len, sizeof(buffer) - len, "CLASS:%s;\n", str); len += scnprintf (buffer + len, sizeof(buffer) - len, "CLASS:%s;\n", str);
if ((str = info->model) != NULL) if ((str = info->model) != NULL)
len += snprintf (buffer + len, sizeof(buffer) - len, "MODEL:%s;\n", str); len += scnprintf (buffer + len, sizeof(buffer) - len, "MODEL:%s;\n", str);
if ((str = info->mfr) != NULL) if ((str = info->mfr) != NULL)
len += snprintf (buffer + len, sizeof(buffer) - len, "MANUFACTURER:%s;\n", str); len += scnprintf (buffer + len, sizeof(buffer) - len, "MANUFACTURER:%s;\n", str);
if ((str = info->description) != NULL) if ((str = info->description) != NULL)
len += snprintf (buffer + len, sizeof(buffer) - len, "DESCRIPTION:%s;\n", str); len += scnprintf (buffer + len, sizeof(buffer) - len, "DESCRIPTION:%s;\n", str);
if ((str = info->cmdset) != NULL) if ((str = info->cmdset) != NULL)
len += snprintf (buffer + len, sizeof(buffer) - len, "COMMAND SET:%s;\n", str); len += scnprintf (buffer + len, sizeof(buffer) - len, "COMMAND SET:%s;\n", str);
if (len > *lenp) if (len > *lenp)
len = *lenp; len = *lenp;
...@@ -128,7 +128,7 @@ static int do_hardware_base_addr(const struct ctl_table *table, int write, ...@@ -128,7 +128,7 @@ static int do_hardware_base_addr(const struct ctl_table *table, int write,
if (write) /* permissions prevent this anyway */ if (write) /* permissions prevent this anyway */
return -EACCES; return -EACCES;
len += snprintf (buffer, sizeof(buffer), "%lu\t%lu\n", port->base, port->base_hi); len += scnprintf (buffer, sizeof(buffer), "%lu\t%lu\n", port->base, port->base_hi);
if (len > *lenp) if (len > *lenp)
len = *lenp; len = *lenp;
...@@ -155,7 +155,7 @@ static int do_hardware_irq(const struct ctl_table *table, int write, ...@@ -155,7 +155,7 @@ static int do_hardware_irq(const struct ctl_table *table, int write,
if (write) /* permissions prevent this anyway */ if (write) /* permissions prevent this anyway */
return -EACCES; return -EACCES;
len += snprintf (buffer, sizeof(buffer), "%d\n", port->irq); len += scnprintf (buffer, sizeof(buffer), "%d\n", port->irq);
if (len > *lenp) if (len > *lenp)
len = *lenp; len = *lenp;
...@@ -182,7 +182,7 @@ static int do_hardware_dma(const struct ctl_table *table, int write, ...@@ -182,7 +182,7 @@ static int do_hardware_dma(const struct ctl_table *table, int write,
if (write) /* permissions prevent this anyway */ if (write) /* permissions prevent this anyway */
return -EACCES; return -EACCES;
len += snprintf (buffer, sizeof(buffer), "%d\n", port->dma); len += scnprintf (buffer, sizeof(buffer), "%d\n", port->dma);
if (len > *lenp) if (len > *lenp)
len = *lenp; len = *lenp;
...@@ -213,7 +213,7 @@ static int do_hardware_modes(const struct ctl_table *table, int write, ...@@ -213,7 +213,7 @@ static int do_hardware_modes(const struct ctl_table *table, int write,
#define printmode(x) \ #define printmode(x) \
do { \ do { \
if (port->modes & PARPORT_MODE_##x) \ if (port->modes & PARPORT_MODE_##x) \
len += snprintf(buffer + len, sizeof(buffer) - len, "%s%s", f++ ? "," : "", #x); \ len += scnprintf(buffer + len, sizeof(buffer) - len, "%s%s", f++ ? "," : "", #x); \
} while (0) } while (0)
int f = 0; int f = 0;
printmode(PCSPP); printmode(PCSPP);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment