Staging / IIO driver updates for 5.10-rc1
Here is the large set of staging and IIO driver updates for 5.10-rc1. Included in here are: - new IIO drivers - new IIO driver frameworks - various IIO driver fixes and updates - IIO device tree conversions to yaml - so many minor staging driver coding style cleanups - most cdev driver moved out of staging - no new drivers added or removed Full details are in the shortlog. All of these have been in linux-next for a while with no reported issues. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCX4g+oQ8cZ3JlZ0Brcm9h aC5jb20ACgkQMUfUDdst+ymAyQCghI58tN/Np3itPlZuc+HYFN7OHH8An1TKzCm1 bwkfw5qAcHab+R7KQZOA =BaXS -----END PGP SIGNATURE----- Merge tag 'staging-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging / IIO driver updates from Greg KH: "Here is the large set of staging and IIO driver updates for 5.10-rc1. Included in here are: - new IIO drivers - new IIO driver frameworks - various IIO driver fixes and updates - IIO device tree conversions to yaml - so many minor staging driver coding style cleanups - most cdev driver moved out of staging - no staging drivers added or removed Full details are in the shortlog. All of these have been in linux-next for a while with no reported issues" * tag 'staging-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (476 commits) staging: comedi: check validity of wMaxPacketSize of usb endpoints found staging: wfx: improve robustness of wfx_get_hw_rate() staging: wfx: drop unicode characters from strings staging: wfx: gpiod_get_value() can return an error staging: wfx: increase robustness of hif_generic_confirm() staging: wfx: wfx_init_common() returns NULL on error staging: wfx: standardize the error when vif does not exist staging: wfx: check memory allocation staging: wfx: improve error handling of hif_join() staging: dpaa2-switch: add a dpaa2_switch prefix to all functions in ethsw.c staging: dpaa2-switch: add a dpaa2_switch_ prefix to all functions in ethsw-ethtool.c staging: rtl8188eu: Fix long lines dt-bindings: staging: wfx: silabs,wfx yaml conversion staging: wfx: update copyrights dates staging: wfx: fix QoS priority for slow buses staging: wfx: fix BA sessions for older firmwares staging: wfx: remove remaining code of 'secure link' feature staging: wfx: fix handling of MMIC error staging: vchiq: Fix list_for_each exit tests staging: greybus: use __force when assigning __u8 value to snd_ctl_elem_type_t ...
This commit is contained in:
commit
ade7afe3e6
436 changed files with 11469 additions and 7258 deletions
|
|
@ -10,10 +10,6 @@
|
|||
struct iio_buffer;
|
||||
struct device;
|
||||
|
||||
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);
|
||||
|
||||
|
|
|
|||
|
|
@ -96,7 +96,8 @@ struct platform_device;
|
|||
int cros_ec_sensors_core_init(struct platform_device *pdev,
|
||||
struct iio_dev *indio_dev, bool physical_device,
|
||||
cros_ec_sensors_capture_t trigger_capture,
|
||||
cros_ec_sensorhub_push_data_cb_t push_data);
|
||||
cros_ec_sensorhub_push_data_cb_t push_data,
|
||||
bool has_hw_fifo);
|
||||
|
||||
irqreturn_t cros_ec_sensors_capture(int irq, void *p);
|
||||
int cros_ec_sensors_push_data(struct iio_dev *indio_dev,
|
||||
|
|
@ -125,6 +126,5 @@ extern const struct dev_pm_ops cros_ec_sensors_pm_ops;
|
|||
|
||||
/* List of extended channel specification for all sensors. */
|
||||
extern const struct iio_chan_spec_ext_info cros_ec_sensors_ext_info[];
|
||||
extern const struct attribute *cros_ec_sensor_fifo_attributes[];
|
||||
|
||||
#endif /* __CROS_EC_SENSORS_CORE_H */
|
||||
|
|
|
|||
|
|
@ -691,8 +691,9 @@ static inline void *iio_priv(const struct iio_dev *indio_dev)
|
|||
|
||||
void iio_device_free(struct iio_dev *indio_dev);
|
||||
struct iio_dev *devm_iio_device_alloc(struct device *parent, int sizeof_priv);
|
||||
__printf(2, 3)
|
||||
struct iio_trigger *devm_iio_trigger_alloc(struct device *dev,
|
||||
const char *fmt, ...);
|
||||
const char *fmt, ...);
|
||||
/**
|
||||
* iio_buffer_enabled() - helper function to test if the buffer is enabled
|
||||
* @indio_dev: IIO device structure for device
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@
|
|||
#define ADIS_REG_PAGE_ID 0x00
|
||||
|
||||
struct adis;
|
||||
struct adis_burst;
|
||||
|
||||
/**
|
||||
* struct adis_timeouts - ADIS chip variant timeouts
|
||||
|
|
@ -51,6 +50,11 @@ struct adis_timeout {
|
|||
* @timeouts: Chip specific delays
|
||||
* @enable_irq: Hook for ADIS devices that have a special IRQ enable/disable
|
||||
* @has_paging: True if ADIS device has paged registers
|
||||
* @burst_reg_cmd: Register command that triggers burst
|
||||
* @burst_len: Burst size in the SPI RX buffer. If @burst_max_len is defined,
|
||||
* this should be the minimum size supported by the device.
|
||||
* @burst_max_len: Holds the maximum burst size when the device supports
|
||||
* more than one burst mode with different sizes
|
||||
*/
|
||||
struct adis_data {
|
||||
unsigned int read_delay;
|
||||
|
|
@ -75,6 +79,10 @@ struct adis_data {
|
|||
int (*enable_irq)(struct adis *adis, bool enable);
|
||||
|
||||
bool has_paging;
|
||||
|
||||
unsigned int burst_reg_cmd;
|
||||
unsigned int burst_len;
|
||||
unsigned int burst_max_len;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -99,7 +107,6 @@ struct adis {
|
|||
struct iio_trigger *trig;
|
||||
|
||||
const struct adis_data *data;
|
||||
struct adis_burst *burst;
|
||||
unsigned int burst_extra_len;
|
||||
/**
|
||||
* The state_lock is meant to be used during operations that require
|
||||
|
|
@ -499,32 +506,11 @@ int adis_single_conversion(struct iio_dev *indio_dev,
|
|||
|
||||
#ifdef CONFIG_IIO_ADIS_LIB_BUFFER
|
||||
|
||||
/**
|
||||
* struct adis_burst - ADIS data for burst transfers
|
||||
* @en burst mode enabled
|
||||
* @reg_cmd register command that triggers burst
|
||||
* @extra_len extra length to account in the SPI RX buffer
|
||||
* @burst_max_len holds the maximum burst size when the device supports
|
||||
* more than one burst mode with different sizes
|
||||
*/
|
||||
struct adis_burst {
|
||||
bool en;
|
||||
unsigned int reg_cmd;
|
||||
const u32 extra_len;
|
||||
const u32 burst_max_len;
|
||||
};
|
||||
|
||||
int
|
||||
devm_adis_setup_buffer_and_trigger(struct adis *adis, struct iio_dev *indio_dev,
|
||||
irq_handler_t trigger_handler);
|
||||
int adis_setup_buffer_and_trigger(struct adis *adis,
|
||||
struct iio_dev *indio_dev, irqreturn_t (*trigger_handler)(int, void *));
|
||||
void adis_cleanup_buffer_and_trigger(struct adis *adis,
|
||||
struct iio_dev *indio_dev);
|
||||
|
||||
int devm_adis_probe_trigger(struct adis *adis, struct iio_dev *indio_dev);
|
||||
int adis_probe_trigger(struct adis *adis, struct iio_dev *indio_dev);
|
||||
void adis_remove_trigger(struct adis *adis);
|
||||
|
||||
int adis_update_scan_mode(struct iio_dev *indio_dev,
|
||||
const unsigned long *scan_mask);
|
||||
|
|
@ -538,33 +524,12 @@ devm_adis_setup_buffer_and_trigger(struct adis *adis, struct iio_dev *indio_dev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static inline int adis_setup_buffer_and_trigger(struct adis *adis,
|
||||
struct iio_dev *indio_dev, irqreturn_t (*trigger_handler)(int, void *))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void adis_cleanup_buffer_and_trigger(struct adis *adis,
|
||||
struct iio_dev *indio_dev)
|
||||
{
|
||||
}
|
||||
|
||||
static inline int devm_adis_probe_trigger(struct adis *adis,
|
||||
struct iio_dev *indio_dev)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int adis_probe_trigger(struct adis *adis,
|
||||
struct iio_dev *indio_dev)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void adis_remove_trigger(struct adis *adis)
|
||||
{
|
||||
}
|
||||
|
||||
#define adis_update_scan_mode NULL
|
||||
|
||||
#endif /* CONFIG_IIO_BUFFER */
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ struct iio_poll_func {
|
|||
};
|
||||
|
||||
|
||||
struct iio_poll_func
|
||||
__printf(5, 6) struct iio_poll_func
|
||||
*iio_alloc_pollfunc(irqreturn_t (*h)(int irq, void *p),
|
||||
irqreturn_t (*thread)(int irq, void *p),
|
||||
int type,
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@ enum iio_chan_info_enum {
|
|||
IIO_CHAN_INFO_CALIBEMISSIVITY,
|
||||
IIO_CHAN_INFO_OVERSAMPLING_RATIO,
|
||||
IIO_CHAN_INFO_THERMOCOUPLE_TYPE,
|
||||
IIO_CHAN_INFO_CALIBAMBIENT,
|
||||
};
|
||||
|
||||
#endif /* _IIO_TYPES_H_ */
|
||||
|
|
|
|||
53
include/linux/mfd/hi6421-spmi-pmic.h
Normal file
53
include/linux/mfd/hi6421-spmi-pmic.h
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* Header file for device driver Hi6421 PMIC
|
||||
*
|
||||
* Copyright (c) 2013 Linaro Ltd.
|
||||
* Copyright (C) 2011 Hisilicon.
|
||||
*
|
||||
* Guodong Xu <guodong.xu@linaro.org>
|
||||
*/
|
||||
|
||||
#ifndef __HISI_PMIC_H
|
||||
#define __HISI_PMIC_H
|
||||
|
||||
#include <linux/irqdomain.h>
|
||||
|
||||
#define HISI_REGS_ENA_PROTECT_TIME (0) /* in microseconds */
|
||||
#define HISI_ECO_MODE_ENABLE (1)
|
||||
#define HISI_ECO_MODE_DISABLE (0)
|
||||
|
||||
struct hi6421_spmi_pmic {
|
||||
struct resource *res;
|
||||
struct device *dev;
|
||||
void __iomem *regs;
|
||||
spinlock_t lock;
|
||||
struct irq_domain *domain;
|
||||
int irq;
|
||||
int gpio;
|
||||
unsigned int *irqs;
|
||||
};
|
||||
|
||||
int hi6421_spmi_pmic_read(struct hi6421_spmi_pmic *pmic, int reg);
|
||||
int hi6421_spmi_pmic_write(struct hi6421_spmi_pmic *pmic, int reg, u32 val);
|
||||
int hi6421_spmi_pmic_rmw(struct hi6421_spmi_pmic *pmic, int reg,
|
||||
u32 mask, u32 bits);
|
||||
|
||||
enum hi6421_spmi_pmic_irq_list {
|
||||
OTMP = 0,
|
||||
VBUS_CONNECT,
|
||||
VBUS_DISCONNECT,
|
||||
ALARMON_R,
|
||||
HOLD_6S,
|
||||
HOLD_1S,
|
||||
POWERKEY_UP,
|
||||
POWERKEY_DOWN,
|
||||
OCP_SCP_R,
|
||||
COUL_R,
|
||||
SIM0_HPD_R,
|
||||
SIM0_HPD_F,
|
||||
SIM1_HPD_R,
|
||||
SIM1_HPD_F,
|
||||
PMIC_IRQ_LIST_MAX,
|
||||
};
|
||||
#endif /* __HISI_PMIC_H */
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef __IIO_AD7291_H__
|
||||
#define __IIO_AD7291_H__
|
||||
|
||||
/**
|
||||
* struct ad7291_platform_data - AD7291 platform data
|
||||
* @use_external_ref: Whether to use an external or internal reference voltage
|
||||
*/
|
||||
struct ad7291_platform_data {
|
||||
bool use_external_ref;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
@ -40,7 +40,7 @@ enum ad7793_bias_voltage {
|
|||
* enum ad7793_refsel - AD7793 reference voltage selection
|
||||
* @AD7793_REFSEL_REFIN1: External reference applied between REFIN1(+)
|
||||
* and REFIN1(-).
|
||||
* @AD7793_REFSEL_REFIN2: External reference applied between REFIN2(+) and
|
||||
* @AD7793_REFSEL_REFIN2: External reference applied between REFIN2(+)
|
||||
* and REFIN1(-). Only valid for AD7795/AD7796.
|
||||
* @AD7793_REFSEL_INTERNAL: Internal 1.17 V reference.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue