mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 15:12:13 +02:00
iio: Adjust internals of handling of direct mode claiming to suit new API.
Now there are no remaining callers of iio_device_claim_direct_mode() and iio_device_release_direct_mode() rename those functions to ensure they are not used in new drivers. Also make them now return booleans in line with the sparse friendly static inline wrappers. Reviewed-by: David Lechner <dlechner@baylibre.com> Reviewed-by: Marcelo Schmitt <marcelo.schmitt1@gmail.com> Link: https://patch.msgid.link/20250331121317.1694135-38-jic23@kernel.org Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
692760702f
commit
5d1dff5b45
|
|
@ -2157,17 +2157,19 @@ int __devm_iio_device_register(struct device *dev, struct iio_dev *indio_dev,
|
|||
EXPORT_SYMBOL_GPL(__devm_iio_device_register);
|
||||
|
||||
/**
|
||||
* iio_device_claim_direct_mode - Keep device in direct mode
|
||||
* __iio_device_claim_direct - Keep device in direct mode
|
||||
* @indio_dev: the iio_dev associated with the device
|
||||
*
|
||||
* If the device is in direct mode it is guaranteed to stay
|
||||
* that way until iio_device_release_direct_mode() is called.
|
||||
* that way until __iio_device_release_direct() is called.
|
||||
*
|
||||
* Use with iio_device_release_direct_mode()
|
||||
* Use with __iio_device_release_direct().
|
||||
*
|
||||
* Returns: 0 on success, -EBUSY on failure.
|
||||
* Drivers should only call iio_device_claim_direct().
|
||||
*
|
||||
* Returns: true on success, false on failure.
|
||||
*/
|
||||
int iio_device_claim_direct_mode(struct iio_dev *indio_dev)
|
||||
bool __iio_device_claim_direct(struct iio_dev *indio_dev)
|
||||
{
|
||||
struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
|
||||
|
||||
|
|
@ -2175,26 +2177,28 @@ int iio_device_claim_direct_mode(struct iio_dev *indio_dev)
|
|||
|
||||
if (iio_buffer_enabled(indio_dev)) {
|
||||
mutex_unlock(&iio_dev_opaque->mlock);
|
||||
return -EBUSY;
|
||||
return false;
|
||||
}
|
||||
return 0;
|
||||
return true;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(iio_device_claim_direct_mode);
|
||||
EXPORT_SYMBOL_GPL(__iio_device_claim_direct);
|
||||
|
||||
/**
|
||||
* iio_device_release_direct_mode - releases claim on direct mode
|
||||
* __iio_device_release_direct - releases claim on direct mode
|
||||
* @indio_dev: the iio_dev associated with the device
|
||||
*
|
||||
* Release the claim. Device is no longer guaranteed to stay
|
||||
* in direct mode.
|
||||
*
|
||||
* Use with iio_device_claim_direct_mode()
|
||||
* Drivers should only call iio_device_release_direct().
|
||||
*
|
||||
* Use with __iio_device_claim_direct()
|
||||
*/
|
||||
void iio_device_release_direct_mode(struct iio_dev *indio_dev)
|
||||
void __iio_device_release_direct(struct iio_dev *indio_dev)
|
||||
{
|
||||
mutex_unlock(&to_iio_dev_opaque(indio_dev)->mlock);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(iio_device_release_direct_mode);
|
||||
EXPORT_SYMBOL_GPL(__iio_device_release_direct);
|
||||
|
||||
/**
|
||||
* iio_device_claim_buffer_mode - Keep device in buffer mode
|
||||
|
|
|
|||
|
|
@ -659,8 +659,8 @@ void iio_device_unregister(struct iio_dev *indio_dev);
|
|||
int __devm_iio_device_register(struct device *dev, struct iio_dev *indio_dev,
|
||||
struct module *this_mod);
|
||||
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);
|
||||
bool __iio_device_claim_direct(struct iio_dev *indio_dev);
|
||||
void __iio_device_release_direct(struct iio_dev *indio_dev);
|
||||
|
||||
/*
|
||||
* Helper functions that allow claim and release of direct mode
|
||||
|
|
@ -671,9 +671,7 @@ void iio_device_release_direct_mode(struct iio_dev *indio_dev);
|
|||
*/
|
||||
static inline bool iio_device_claim_direct(struct iio_dev *indio_dev)
|
||||
{
|
||||
int ret = iio_device_claim_direct_mode(indio_dev);
|
||||
|
||||
if (ret)
|
||||
if (!__iio_device_claim_direct(indio_dev))
|
||||
return false;
|
||||
|
||||
__acquire(iio_dev);
|
||||
|
|
@ -683,7 +681,7 @@ static inline bool iio_device_claim_direct(struct iio_dev *indio_dev)
|
|||
|
||||
static inline void iio_device_release_direct(struct iio_dev *indio_dev)
|
||||
{
|
||||
iio_device_release_direct_mode(indio_dev);
|
||||
__iio_device_release_direct(indio_dev);
|
||||
__release(indio_dev);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user