iio: imu: adis: add unlocked __adis_initial_startup()
This change splits the __adis_initial_startup() away from adis_initial_startup(). The unlocked version can be used in certain calls during probe, where races won't happen since the ADIS driver may not be registered yet with IIO. Signed-off-by: Nuno Sá <nuno.sa@analog.com> Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:

committed by
Jonathan Cameron

parent
e914cfdf12
commit
3f17ada8f3
@@ -297,6 +297,7 @@ static inline int adis_read_reg_32(struct adis *adis, unsigned int reg,
|
||||
|
||||
int adis_enable_irq(struct adis *adis, bool enable);
|
||||
int __adis_check_status(struct adis *adis);
|
||||
int __adis_initial_startup(struct adis *adis);
|
||||
|
||||
static inline int adis_check_status(struct adis *adis)
|
||||
{
|
||||
@@ -309,7 +310,17 @@ static inline int adis_check_status(struct adis *adis)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int adis_initial_startup(struct adis *adis);
|
||||
/* locked version of __adis_initial_startup() */
|
||||
static inline int adis_initial_startup(struct adis *adis)
|
||||
{
|
||||
int ret;
|
||||
|
||||
mutex_lock(&adis->state_lock);
|
||||
ret = __adis_initial_startup(adis);
|
||||
mutex_unlock(&adis->state_lock);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int adis_single_conversion(struct iio_dev *indio_dev,
|
||||
const struct iio_chan_spec *chan, unsigned int error_mask,
|
||||
|
Reference in New Issue
Block a user