First set of new IIO device support, features and cleanup for the 5.8 cycle
Usual mix of new drivers, new support in old drivers and lots of minor
cleanup. Yaml conversions also continue to trickle in (plenty more to go!)
New device support
* ad7476
- Add ad7091 support (ID only)
* ad9467
- New driver for this 200/250 MSPS adi-axi-adc and SPI attached ADC.
* adi-axi-adc
- New driver to support ADIs generic AXI ADC IP core, used to provide
high speed interfaces to ADCs (JESD204B/C or parallel interfaces). Usually
paired with a device using a slow configuration interface (spi etc)
Includes DT bindings and some fixes for fpga headers.
* bmg160
- Add support for BMI088 (ID only)
* max1241
- New driver for this ADC.
* st_sensors
- Add support for LIS2HH12 accelerometer
* sx9310
- New driver supporting sx9310 and sx9311 proximity sensors.
Yaml DT binding conversions
* rockchip-saradc (including adding some missing parts)
* stm32-dac
* tsl2563
* vcnl4000
Features
* st_lsm6dsx
- Add LIS3MDL as a possible sensor hub device.
* vcnl4000
- Add new concept of near level (from DT) to provide to userspace which
often needs to have some calibrated concept of 'near'.
Cleanups, minor fixes etc.
* core
- Use snprintf for functions where strings are built and there is
potential for overflow.
- Correct docs to indicate mlock should not be used directly by drivers.
- Fix up accidental dropping of a patch to use bitmap_zalloc.
- Stop allowing enabling of buffers with no channels enabled.
- Drop unused 'stufftoread' from iio_buffer.
- Drop scan_el_attrs form iio_buffer as unused.
- Reorder sanity checks in __iio_device_register to fail earlier.
- Drop all the devm_ runregister / free functions from IIO as they
were never used and encourage poor design.
* dma-buffer
- Tidy up includes.
* dma-engine-buffer
- Provide dev-managed allocator.
- Fix an issue with printing a size_t
* cross subsystem (kxsd9, bmg160, mpu3050, bmi160, mpu6050, bmc150)
- Replace some unnecessary casts of error ptrs and whilst there.
use the %pe printf parameter to print them in a more useful fashion.
* cross subsystem
- Drop casts in calls to regmap_bulk_read as they make no sense.
- Use devm_platform_ioremap_resource to reduce boilerplate.
- Fix typos in Analog Devices.
* counters/104-quad
- Add Syed Nayyar Waris as an additional maintainer.
* ad7476
- Generate CONVST signal internally rather than requiring external
trigger. Add sysfs read back as can now do so.
- use devm_add_action_or_reset to tidy up error and remove handling.
* ad7793
- Switch to read_avail from explicit attribute. Mostly done to avoid
confusing people with a - sign (without surounding spaces) that
was correct but checkpatch didn't like.
* adis library
- Add missing newlines at end of error messages.
* adis16400
- Use DEFINE_DEBUGS_ATTRIBUTE rather than DEFINE_SIMPLE_ATTR.
* adis16460
- Use DEFINE_DEBUGS_ATTRIBUTE rather than DEFINE_SIMPLE_ATTR.
* ad_sigma_delta
- Move some channel definitions into individual drivers to avoid
having to deal with complex options.
* ak8974
- Silence an error on deffered probe.
* bmp280
- Harden against IRQ before registration.
- Convert to read_avail instead of opencoding the equivalent.
- Explicitly mark GPIO as optional.
- Cleanup casts.
- Remove line breaks from strings.
* htts221
- Replace direct access to platform_data with dev_get_platdata().
- Use device properties rather than device tree ones to allow ACPI
probing.
- Casting cleanups.
* intel_mrfld_adc
- Don't use unaligned accessor for aligned data.
* isl29125
- Reorder buer pre and post hooks to allow for coming core rework.
* ltc2983
- Remove comp to bool.
* max1363
- Stop using mlock from the iio_dev directly in favour of a local lock
with clearly defined scope.
* max30100
- Use generic device properties to allow ACPI probe.
* mpu6050
- Convert to i2c_new_client_device.
- Add debugfs register access.
* st_lsm6dsx
- Provide means of configuring full scale on slave device if supported.
- Drop include of st_sensors header to get one value. Its not otherwise
used by this driver.
* st-sensors
- Replace direct access to platform_data with dev_get_platdata().
- Casting cleanups.
- Avoid splitting strings.
* st_uvis25
- Casting cleanups.
* tsl2563
- Typo fix.
* tsl2772
- scnprintf in a non obvious string building usecase. Note also 'fixes'
a wrong calculation of remaining space that couldn't actually cause
any trouble as there was lots of room.
* xilinx-xadc
- Fix Lars-Peter spelling his own name wrong :) + additional typos.
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEbilms4eEBlKRJoGxVIU0mcT0FogFAl6gicARHGppYzIzQGtl
cm5lbC5vcmcACgkQVIU0mcT0Foj3ig//XRAAHRSfzXFpvYxITVKDIGwP/giYdp91
OflGw/0aOZFExr72ENLmCArXZPOT2qAZyNNoDNvuJ9SkcVDf4bT3w9gYwWtJ1sd7
Hhh+1JpPspSo6vS85FMjm37UDfSbmYqB6wC57cZ5pKQIiJwi6W2hGsyOoOXmfLLc
57d3mlg4g3KLl9Hl4UTU84gE1ushKQgNxVH21Y71pOTa8p+xbWWcspWjR2Jf+kVZ
qPr2+2rP/AjeAVLu9SKfdBiczYQCNR3uFWKkOKsBE9fq3sbcN6NT5DktrSJUH+qU
zfUGmShCEP908/9fARazXQZcTOX1tIUOnrpHG9l54GNPh3S2Qk9xGaZxvQy5sguC
AmC4p+MaIMrMcgWMk9po+nE5INJq7HBV/0jnADG307wEhFrKrjh/2PtP4f9k/Mcv
sHB7K1+dcJAUwFb5gccdDBfmKMnwfnGS8OFGLXZZKBIDqSvptmIs/pmavjEPgqhV
GwGTDPyZKeyDnyhTXGafxii03Q2I62Zte5l4jcZ+q8Q4UMxQovEkX6IvUpXwA0Kk
eoxedbgdvzxrDNiNrXa0k6CLzqSQW+aVHgJG+HEig4IXQse8zXb11HCs35zq5r4j
JI2UjLk3zUHLiNR/Ir9fKAbPwWSWv3IWkfmFEEUWvUFjM+Xot1Hg+61vBTFKo4iK
EIqqPZmd5Mk=
=DyTF
-----END PGP SIGNATURE-----
Merge tag 'iio-for-5.8a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
Jonathan writes:
First set of new IIO device support, features and cleanup for the 5.8 cycle
Usual mix of new drivers, new support in old drivers and lots of minor
cleanup. Yaml conversions also continue to trickle in (plenty more to go!)
New device support
* ad7476
- Add ad7091 support (ID only)
* ad9467
- New driver for this 200/250 MSPS adi-axi-adc and SPI attached ADC.
* adi-axi-adc
- New driver to support ADIs generic AXI ADC IP core, used to provide
high speed interfaces to ADCs (JESD204B/C or parallel interfaces). Usually
paired with a device using a slow configuration interface (spi etc)
Includes DT bindings and some fixes for fpga headers.
* bmg160
- Add support for BMI088 (ID only)
* max1241
- New driver for this ADC.
* st_sensors
- Add support for LIS2HH12 accelerometer
* sx9310
- New driver supporting sx9310 and sx9311 proximity sensors.
Yaml DT binding conversions
* rockchip-saradc (including adding some missing parts)
* stm32-dac
* tsl2563
* vcnl4000
Features
* st_lsm6dsx
- Add LIS3MDL as a possible sensor hub device.
* vcnl4000
- Add new concept of near level (from DT) to provide to userspace which
often needs to have some calibrated concept of 'near'.
Cleanups, minor fixes etc.
* core
- Use snprintf for functions where strings are built and there is
potential for overflow.
- Correct docs to indicate mlock should not be used directly by drivers.
- Fix up accidental dropping of a patch to use bitmap_zalloc.
- Stop allowing enabling of buffers with no channels enabled.
- Drop unused 'stufftoread' from iio_buffer.
- Drop scan_el_attrs form iio_buffer as unused.
- Reorder sanity checks in __iio_device_register to fail earlier.
- Drop all the devm_ runregister / free functions from IIO as they
were never used and encourage poor design.
* dma-buffer
- Tidy up includes.
* dma-engine-buffer
- Provide dev-managed allocator.
- Fix an issue with printing a size_t
* cross subsystem (kxsd9, bmg160, mpu3050, bmi160, mpu6050, bmc150)
- Replace some unnecessary casts of error ptrs and whilst there.
use the %pe printf parameter to print them in a more useful fashion.
* cross subsystem
- Drop casts in calls to regmap_bulk_read as they make no sense.
- Use devm_platform_ioremap_resource to reduce boilerplate.
- Fix typos in Analog Devices.
* counters/104-quad
- Add Syed Nayyar Waris as an additional maintainer.
* ad7476
- Generate CONVST signal internally rather than requiring external
trigger. Add sysfs read back as can now do so.
- use devm_add_action_or_reset to tidy up error and remove handling.
* ad7793
- Switch to read_avail from explicit attribute. Mostly done to avoid
confusing people with a - sign (without surounding spaces) that
was correct but checkpatch didn't like.
* adis library
- Add missing newlines at end of error messages.
* adis16400
- Use DEFINE_DEBUGS_ATTRIBUTE rather than DEFINE_SIMPLE_ATTR.
* adis16460
- Use DEFINE_DEBUGS_ATTRIBUTE rather than DEFINE_SIMPLE_ATTR.
* ad_sigma_delta
- Move some channel definitions into individual drivers to avoid
having to deal with complex options.
* ak8974
- Silence an error on deffered probe.
* bmp280
- Harden against IRQ before registration.
- Convert to read_avail instead of opencoding the equivalent.
- Explicitly mark GPIO as optional.
- Cleanup casts.
- Remove line breaks from strings.
* htts221
- Replace direct access to platform_data with dev_get_platdata().
- Use device properties rather than device tree ones to allow ACPI
probing.
- Casting cleanups.
* intel_mrfld_adc
- Don't use unaligned accessor for aligned data.
* isl29125
- Reorder buer pre and post hooks to allow for coming core rework.
* ltc2983
- Remove comp to bool.
* max1363
- Stop using mlock from the iio_dev directly in favour of a local lock
with clearly defined scope.
* max30100
- Use generic device properties to allow ACPI probe.
* mpu6050
- Convert to i2c_new_client_device.
- Add debugfs register access.
* st_lsm6dsx
- Provide means of configuring full scale on slave device if supported.
- Drop include of st_sensors header to get one value. Its not otherwise
used by this driver.
* st-sensors
- Replace direct access to platform_data with dev_get_platdata().
- Casting cleanups.
- Avoid splitting strings.
* st_uvis25
- Casting cleanups.
* tsl2563
- Typo fix.
* tsl2772
- scnprintf in a non obvious string building usecase. Note also 'fixes'
a wrong calculation of remaining space that couldn't actually cause
any trouble as there was lots of room.
* xilinx-xadc
- Fix Lars-Peter spelling his own name wrong :) + additional typos.
* tag 'iio-for-5.8a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (101 commits)
iio: magnetometer: ak8974: Silence deferred-probe error
Documentation: ABI: document IIO in_proximity_nearlevel file
iio: vcnl4000: Export near level property for proximity sensor
dt-bindings: iio: light: vcnl4000: Add proximity-near-level
dt-bindings: iio: Introduce common properties for iio sensors
dt-bindings: iio: vcnl4000: convert bindings to YAML format
iio: Fix misspellings of "Analog Devices"
iio: light: isl29125: fix iio_triggered_buffer_{predisable,postenable} positions
iio: adc: fsl-imx25-gcq: Use devm_platform_ioremap_resource
iio: adc: at91-adc: Use devm_platform_ioremap_resource
iio: adc: sun4i-gpadc-iio: Use devm_platform_ioremap_resource
iio:light:ltr501: Drop unnecessary cast of parameter in regmap_bulk_read
iio:magn:mmc35240: Drop unnecessary casts of val parameter in regmap_bulk*
iio:imu:mpu6050: Tidy up parameters to regmap_bulk functions.
iio:chemical:bme680: Tidy up parameters to regmap_bulk_read
iio:chemical:atlas-sensor: Drop unnecessary explicit casts in regmap_bulk_read calls
iio:accel:mxc4005: Drop unnecessary explicit casts in regmap_bulk_read calls
iio: imu: st_lsm6dsx: drop huge include in sensor-hub driver
iio: buffer: drop devm_iio_kfifo_free() API call
iio: buffer: drop devm_iio_hw_consumer_free() API call
...
This commit is contained in:
commit
4e1d96306d
110 changed files with 3625 additions and 774 deletions
|
|
@ -11,9 +11,13 @@
|
|||
#ifndef ADI_AXI_COMMON_H_
|
||||
#define ADI_AXI_COMMON_H_
|
||||
|
||||
#define ADI_AXI_REG_VERSION 0x0000
|
||||
#define ADI_AXI_REG_VERSION 0x0000
|
||||
|
||||
#define ADI_AXI_PCORE_VER(major, minor, patch) \
|
||||
(((major) << 16) | ((minor) << 8) | (patch))
|
||||
|
||||
#define ADI_AXI_PCORE_VER_MAJOR(version) (((version) >> 16) & 0xff)
|
||||
#define ADI_AXI_PCORE_VER_MINOR(version) (((version) >> 8) & 0xff)
|
||||
#define ADI_AXI_PCORE_VER_PATCH(version) ((version) & 0xff)
|
||||
|
||||
#endif /* ADI_AXI_COMMON_H_ */
|
||||
|
|
|
|||
|
|
@ -133,62 +133,4 @@ void ad_sd_cleanup_buffer_and_trigger(struct iio_dev *indio_dev);
|
|||
|
||||
int ad_sd_validate_trigger(struct iio_dev *indio_dev, struct iio_trigger *trig);
|
||||
|
||||
#define __AD_SD_CHANNEL(_si, _channel1, _channel2, _address, _bits, \
|
||||
_storagebits, _shift, _extend_name, _type, _mask_all) \
|
||||
{ \
|
||||
.type = (_type), \
|
||||
.differential = (_channel2 == -1 ? 0 : 1), \
|
||||
.indexed = 1, \
|
||||
.channel = (_channel1), \
|
||||
.channel2 = (_channel2), \
|
||||
.address = (_address), \
|
||||
.extend_name = (_extend_name), \
|
||||
.info_mask_separate = BIT(IIO_CHAN_INFO_RAW) | \
|
||||
BIT(IIO_CHAN_INFO_OFFSET), \
|
||||
.info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SCALE), \
|
||||
.info_mask_shared_by_all = _mask_all, \
|
||||
.scan_index = (_si), \
|
||||
.scan_type = { \
|
||||
.sign = 'u', \
|
||||
.realbits = (_bits), \
|
||||
.storagebits = (_storagebits), \
|
||||
.shift = (_shift), \
|
||||
.endianness = IIO_BE, \
|
||||
}, \
|
||||
}
|
||||
|
||||
#define AD_SD_DIFF_CHANNEL(_si, _channel1, _channel2, _address, _bits, \
|
||||
_storagebits, _shift) \
|
||||
__AD_SD_CHANNEL(_si, _channel1, _channel2, _address, _bits, \
|
||||
_storagebits, _shift, NULL, IIO_VOLTAGE, \
|
||||
BIT(IIO_CHAN_INFO_SAMP_FREQ))
|
||||
|
||||
#define AD_SD_SHORTED_CHANNEL(_si, _channel, _address, _bits, \
|
||||
_storagebits, _shift) \
|
||||
__AD_SD_CHANNEL(_si, _channel, _channel, _address, _bits, \
|
||||
_storagebits, _shift, "shorted", IIO_VOLTAGE, \
|
||||
BIT(IIO_CHAN_INFO_SAMP_FREQ))
|
||||
|
||||
#define AD_SD_CHANNEL(_si, _channel, _address, _bits, \
|
||||
_storagebits, _shift) \
|
||||
__AD_SD_CHANNEL(_si, _channel, -1, _address, _bits, \
|
||||
_storagebits, _shift, NULL, IIO_VOLTAGE, \
|
||||
BIT(IIO_CHAN_INFO_SAMP_FREQ))
|
||||
|
||||
#define AD_SD_CHANNEL_NO_SAMP_FREQ(_si, _channel, _address, _bits, \
|
||||
_storagebits, _shift) \
|
||||
__AD_SD_CHANNEL(_si, _channel, -1, _address, _bits, \
|
||||
_storagebits, _shift, NULL, IIO_VOLTAGE, 0)
|
||||
|
||||
#define AD_SD_TEMP_CHANNEL(_si, _address, _bits, _storagebits, _shift) \
|
||||
__AD_SD_CHANNEL(_si, 0, -1, _address, _bits, \
|
||||
_storagebits, _shift, NULL, IIO_TEMP, \
|
||||
BIT(IIO_CHAN_INFO_SAMP_FREQ))
|
||||
|
||||
#define AD_SD_SUPPLY_CHANNEL(_si, _channel, _address, _bits, _storagebits, \
|
||||
_shift) \
|
||||
__AD_SD_CHANNEL(_si, _channel, -1, _address, _bits, \
|
||||
_storagebits, _shift, "supply", IIO_VOLTAGE, \
|
||||
BIT(IIO_CHAN_INFO_SAMP_FREQ))
|
||||
|
||||
#endif
|
||||
|
|
|
|||
64
include/linux/iio/adc/adi-axi-adc.h
Normal file
64
include/linux/iio/adc/adi-axi-adc.h
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* Analog Devices Generic AXI ADC IP core driver/library
|
||||
* Link: https://wiki.analog.com/resources/fpga/docs/axi_adc_ip
|
||||
*
|
||||
* Copyright 2012-2020 Analog Devices Inc.
|
||||
*/
|
||||
#ifndef __ADI_AXI_ADC_H__
|
||||
#define __ADI_AXI_ADC_H__
|
||||
|
||||
struct device;
|
||||
struct iio_chan_spec;
|
||||
|
||||
/**
|
||||
* struct adi_axi_adc_chip_info - Chip specific information
|
||||
* @name Chip name
|
||||
* @id Chip ID (usually product ID)
|
||||
* @channels Channel specifications of type @struct axi_adc_chan_spec
|
||||
* @num_channels Number of @channels
|
||||
* @scale_table Supported scales by the chip; tuples of 2 ints
|
||||
* @num_scales Number of scales in the table
|
||||
* @max_rate Maximum sampling rate supported by the device
|
||||
*/
|
||||
struct adi_axi_adc_chip_info {
|
||||
const char *name;
|
||||
unsigned int id;
|
||||
|
||||
const struct iio_chan_spec *channels;
|
||||
unsigned int num_channels;
|
||||
|
||||
const unsigned int (*scale_table)[2];
|
||||
int num_scales;
|
||||
|
||||
unsigned long max_rate;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct adi_axi_adc_conv - data of the ADC attached to the AXI ADC
|
||||
* @chip_info chip info details for the client ADC
|
||||
* @preenable_setup op to run in the client before enabling the AXI ADC
|
||||
* @reg_access IIO debugfs_reg_access hook for the client ADC
|
||||
* @read_raw IIO read_raw hook for the client ADC
|
||||
* @write_raw IIO write_raw hook for the client ADC
|
||||
*/
|
||||
struct adi_axi_adc_conv {
|
||||
const struct adi_axi_adc_chip_info *chip_info;
|
||||
|
||||
int (*preenable_setup)(struct adi_axi_adc_conv *conv);
|
||||
int (*reg_access)(struct adi_axi_adc_conv *conv, unsigned int reg,
|
||||
unsigned int writeval, unsigned int *readval);
|
||||
int (*read_raw)(struct adi_axi_adc_conv *conv,
|
||||
struct iio_chan_spec const *chan,
|
||||
int *val, int *val2, long mask);
|
||||
int (*write_raw)(struct adi_axi_adc_conv *conv,
|
||||
struct iio_chan_spec const *chan,
|
||||
int val, int val2, long mask);
|
||||
};
|
||||
|
||||
struct adi_axi_adc_conv *devm_adi_axi_adc_conv_register(struct device *dev,
|
||||
size_t sizeof_priv);
|
||||
|
||||
void *adi_axi_adc_conv_priv(struct adi_axi_adc_conv *conv);
|
||||
|
||||
#endif
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
#include <linux/kref.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/iio/buffer.h>
|
||||
#include <linux/iio/buffer_impl.h>
|
||||
|
||||
struct iio_dma_buffer_queue;
|
||||
struct iio_dma_buffer_ops;
|
||||
|
|
|
|||
|
|
@ -14,4 +14,7 @@ struct iio_buffer *iio_dmaengine_buffer_alloc(struct device *dev,
|
|||
const char *channel);
|
||||
void iio_dmaengine_buffer_free(struct iio_buffer *buffer);
|
||||
|
||||
struct iio_buffer *devm_iio_dmaengine_buffer_alloc(struct device *dev,
|
||||
const char *channel);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -94,12 +94,6 @@ struct iio_buffer {
|
|||
unsigned int watermark;
|
||||
|
||||
/* private: */
|
||||
/*
|
||||
* @scan_el_attrs: Control of scan elements if that scan mode
|
||||
* control method is used.
|
||||
*/
|
||||
struct attribute_group *scan_el_attrs;
|
||||
|
||||
/* @scan_timestamp: Does the scan mode include a timestamp. */
|
||||
bool scan_timestamp;
|
||||
|
||||
|
|
@ -115,9 +109,6 @@ struct iio_buffer {
|
|||
*/
|
||||
struct attribute_group scan_el_group;
|
||||
|
||||
/* @stufftoread: Flag to indicate new data. */
|
||||
bool stufftoread;
|
||||
|
||||
/* @attrs: Standard attributes of the buffer. */
|
||||
const struct attribute **attrs;
|
||||
|
||||
|
|
|
|||
|
|
@ -63,15 +63,6 @@ void iio_channel_release(struct iio_channel *chan);
|
|||
*/
|
||||
struct iio_channel *devm_iio_channel_get(struct device *dev,
|
||||
const char *consumer_channel);
|
||||
/**
|
||||
* devm_iio_channel_release() - Resource managed version of
|
||||
* iio_channel_release().
|
||||
* @dev: Pointer to consumer device for which resource
|
||||
* is allocared.
|
||||
* @chan: The channel to be released.
|
||||
*/
|
||||
void devm_iio_channel_release(struct device *dev, struct iio_channel *chan);
|
||||
|
||||
/**
|
||||
* iio_channel_get_all() - get all channels associated with a client
|
||||
* @dev: Pointer to consumer device.
|
||||
|
|
@ -106,15 +97,6 @@ void iio_channel_release_all(struct iio_channel *chan);
|
|||
*/
|
||||
struct iio_channel *devm_iio_channel_get_all(struct device *dev);
|
||||
|
||||
/**
|
||||
* devm_iio_channel_release_all() - Resource managed version of
|
||||
* iio_channel_release_all().
|
||||
* @dev: Pointer to consumer device for which resource
|
||||
* is allocared.
|
||||
* @chan: Array channel to be released.
|
||||
*/
|
||||
void devm_iio_channel_release_all(struct device *dev, struct iio_channel *chan);
|
||||
|
||||
struct iio_cb_buffer;
|
||||
/**
|
||||
* iio_channel_get_all_cb() - register callback for triggered capture
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ struct iio_hw_consumer;
|
|||
struct iio_hw_consumer *iio_hw_consumer_alloc(struct device *dev);
|
||||
void iio_hw_consumer_free(struct iio_hw_consumer *hwc);
|
||||
struct iio_hw_consumer *devm_iio_hw_consumer_alloc(struct device *dev);
|
||||
void devm_iio_hw_consumer_free(struct device *dev, struct iio_hw_consumer *hwc);
|
||||
int iio_hw_consumer_enable(struct iio_hw_consumer *hwc);
|
||||
void iio_hw_consumer_disable(struct iio_hw_consumer *hwc);
|
||||
|
||||
|
|
|
|||
|
|
@ -492,7 +492,7 @@ struct iio_buffer_setup_ops {
|
|||
* @buffer: [DRIVER] any buffer present
|
||||
* @buffer_list: [INTERN] list of all buffers currently attached
|
||||
* @scan_bytes: [INTERN] num bytes captured to be fed to buffer demux
|
||||
* @mlock: [DRIVER] lock used to prevent simultaneous device state
|
||||
* @mlock: [INTERN] lock used to prevent simultaneous device state
|
||||
* changes
|
||||
* @available_scan_masks: [DRIVER] optional array of allowed bitmasks
|
||||
* @masklength: [INTERN] the length of the mask established from
|
||||
|
|
@ -593,9 +593,6 @@ void iio_device_unregister(struct iio_dev *indio_dev);
|
|||
* calls iio_device_register() internally. Refer to that function for more
|
||||
* information.
|
||||
*
|
||||
* If an iio_dev registered with this function needs to be unregistered
|
||||
* separately, devm_iio_device_unregister() must be used.
|
||||
*
|
||||
* RETURNS:
|
||||
* 0 on success, negative error number on failure.
|
||||
*/
|
||||
|
|
@ -603,7 +600,6 @@ void iio_device_unregister(struct iio_dev *indio_dev);
|
|||
__devm_iio_device_register((dev), (indio_dev), THIS_MODULE);
|
||||
int __devm_iio_device_register(struct device *dev, struct iio_dev *indio_dev,
|
||||
struct module *this_mod);
|
||||
void devm_iio_device_unregister(struct device *dev, struct iio_dev *indio_dev);
|
||||
int iio_push_event(struct iio_dev *indio_dev, u64 ev_code, s64 timestamp);
|
||||
int iio_device_claim_direct_mode(struct iio_dev *indio_dev);
|
||||
void iio_device_release_direct_mode(struct iio_dev *indio_dev);
|
||||
|
|
@ -694,13 +690,9 @@ static inline struct iio_dev *iio_priv_to_dev(void *priv)
|
|||
}
|
||||
|
||||
void iio_device_free(struct iio_dev *indio_dev);
|
||||
int devm_iio_device_match(struct device *dev, void *res, void *data);
|
||||
struct iio_dev *devm_iio_device_alloc(struct device *dev, int sizeof_priv);
|
||||
void devm_iio_device_free(struct device *dev, struct iio_dev *indio_dev);
|
||||
struct iio_trigger *devm_iio_trigger_alloc(struct device *dev,
|
||||
const char *fmt, ...);
|
||||
void devm_iio_trigger_free(struct device *dev, struct iio_trigger *iio_trig);
|
||||
|
||||
/**
|
||||
* iio_buffer_enabled() - helper function to test if the buffer is enabled
|
||||
* @indio_dev: IIO device structure for device
|
||||
|
|
|
|||
|
|
@ -9,6 +9,5 @@ struct iio_buffer *iio_kfifo_allocate(void);
|
|||
void iio_kfifo_free(struct iio_buffer *r);
|
||||
|
||||
struct iio_buffer *devm_iio_kfifo_allocate(struct device *dev);
|
||||
void devm_iio_kfifo_free(struct device *dev, struct iio_buffer *r);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -141,9 +141,6 @@ int __devm_iio_trigger_register(struct device *dev,
|
|||
**/
|
||||
void iio_trigger_unregister(struct iio_trigger *trig_info);
|
||||
|
||||
void devm_iio_trigger_unregister(struct device *dev,
|
||||
struct iio_trigger *trig_info);
|
||||
|
||||
/**
|
||||
* iio_trigger_set_immutable() - set an immutable trigger on destination
|
||||
*
|
||||
|
|
|
|||
|
|
@ -18,7 +18,5 @@ int devm_iio_triggered_buffer_setup(struct device *dev,
|
|||
irqreturn_t (*h)(int irq, void *p),
|
||||
irqreturn_t (*thread)(int irq, void *p),
|
||||
const struct iio_buffer_setup_ops *ops);
|
||||
void devm_iio_triggered_buffer_cleanup(struct device *dev,
|
||||
struct iio_dev *indio_dev);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue