Commit a7e57dce authored by Sachin Kamat's avatar Sachin Kamat Committed by Jonathan Cameron

iio: core: Move kernel doc to the right location

Documentation related to function should be placed above
its implementation. Move it accordingly.
Signed-off-by: default avatarSachin Kamat <sachin.kamat@linaro.org>
Cc: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
parent 8caa07c0
...@@ -107,6 +107,11 @@ static const char * const iio_chan_info_postfix[] = { ...@@ -107,6 +107,11 @@ static const char * const iio_chan_info_postfix[] = {
[IIO_CHAN_INFO_INT_TIME] = "integration_time", [IIO_CHAN_INFO_INT_TIME] = "integration_time",
}; };
/**
* iio_find_channel_from_si() - get channel from its scan index
* @indio_dev: device
* @si: scan index to match
*/
const struct iio_chan_spec const struct iio_chan_spec
*iio_find_channel_from_si(struct iio_dev *indio_dev, int si) *iio_find_channel_from_si(struct iio_dev *indio_dev, int si)
{ {
...@@ -922,6 +927,10 @@ struct device_type iio_device_type = { ...@@ -922,6 +927,10 @@ struct device_type iio_device_type = {
.release = iio_dev_release, .release = iio_dev_release,
}; };
/**
* iio_device_alloc() - allocate an iio_dev from a driver
* @sizeof_priv: Space to allocate for private structure.
**/
struct iio_dev *iio_device_alloc(int sizeof_priv) struct iio_dev *iio_device_alloc(int sizeof_priv)
{ {
struct iio_dev *dev; struct iio_dev *dev;
...@@ -962,6 +971,10 @@ struct iio_dev *iio_device_alloc(int sizeof_priv) ...@@ -962,6 +971,10 @@ struct iio_dev *iio_device_alloc(int sizeof_priv)
} }
EXPORT_SYMBOL(iio_device_alloc); EXPORT_SYMBOL(iio_device_alloc);
/**
* iio_device_free() - free an iio_dev from a driver
* @dev: the iio_dev associated with the device
**/
void iio_device_free(struct iio_dev *dev) void iio_device_free(struct iio_dev *dev)
{ {
if (dev) if (dev)
...@@ -984,6 +997,20 @@ static int devm_iio_device_match(struct device *dev, void *res, void *data) ...@@ -984,6 +997,20 @@ static int devm_iio_device_match(struct device *dev, void *res, void *data)
return *r == data; return *r == data;
} }
/**
* devm_iio_device_alloc - Resource-managed iio_device_alloc()
* @dev: Device to allocate iio_dev for
* @sizeof_priv: Space to allocate for private structure.
*
* Managed iio_device_alloc. iio_dev allocated with this function is
* automatically freed on driver detach.
*
* If an iio_dev allocated with this function needs to be freed separately,
* devm_iio_device_free() must be used.
*
* RETURNS:
* Pointer to allocated iio_dev on success, NULL on failure.
*/
struct iio_dev *devm_iio_device_alloc(struct device *dev, int sizeof_priv) struct iio_dev *devm_iio_device_alloc(struct device *dev, int sizeof_priv)
{ {
struct iio_dev **ptr, *iio_dev; struct iio_dev **ptr, *iio_dev;
...@@ -1006,6 +1033,13 @@ struct iio_dev *devm_iio_device_alloc(struct device *dev, int sizeof_priv) ...@@ -1006,6 +1033,13 @@ struct iio_dev *devm_iio_device_alloc(struct device *dev, int sizeof_priv)
} }
EXPORT_SYMBOL_GPL(devm_iio_device_alloc); EXPORT_SYMBOL_GPL(devm_iio_device_alloc);
/**
* devm_iio_device_free - Resource-managed iio_device_free()
* @dev: Device this iio_dev belongs to
* @iio_dev: the iio_dev associated with the device
*
* Free iio_dev allocated with devm_iio_device_alloc().
*/
void devm_iio_device_free(struct device *dev, struct iio_dev *iio_dev) void devm_iio_device_free(struct device *dev, struct iio_dev *iio_dev)
{ {
int rc; int rc;
...@@ -1080,6 +1114,10 @@ static const struct file_operations iio_buffer_fileops = { ...@@ -1080,6 +1114,10 @@ static const struct file_operations iio_buffer_fileops = {
static const struct iio_buffer_setup_ops noop_ring_setup_ops; static const struct iio_buffer_setup_ops noop_ring_setup_ops;
/**
* iio_device_register() - register a device with the IIO subsystem
* @indio_dev: Device structure filled by the device driver
**/
int iio_device_register(struct iio_dev *indio_dev) int iio_device_register(struct iio_dev *indio_dev)
{ {
int ret; int ret;
...@@ -1141,6 +1179,10 @@ int iio_device_register(struct iio_dev *indio_dev) ...@@ -1141,6 +1179,10 @@ int iio_device_register(struct iio_dev *indio_dev)
} }
EXPORT_SYMBOL(iio_device_register); EXPORT_SYMBOL(iio_device_register);
/**
* iio_device_unregister() - unregister a device from the IIO subsystem
* @indio_dev: Device structure representing the device.
**/
void iio_device_unregister(struct iio_dev *indio_dev) void iio_device_unregister(struct iio_dev *indio_dev)
{ {
mutex_lock(&indio_dev->info_exist_lock); mutex_lock(&indio_dev->info_exist_lock);
......
...@@ -42,6 +42,12 @@ struct iio_event_interface { ...@@ -42,6 +42,12 @@ struct iio_event_interface {
struct attribute_group group; struct attribute_group group;
}; };
/**
* iio_push_event() - try to add event to the list for userspace reading
* @indio_dev: IIO device structure
* @ev_code: What event
* @timestamp: When the event occurred
**/
int iio_push_event(struct iio_dev *indio_dev, u64 ev_code, s64 timestamp) int iio_push_event(struct iio_dev *indio_dev, u64 ev_code, s64 timestamp)
{ {
struct iio_event_interface *ev_int = indio_dev->event_interface; struct iio_event_interface *ev_int = indio_dev->event_interface;
......
...@@ -506,6 +506,23 @@ static int devm_iio_trigger_match(struct device *dev, void *res, void *data) ...@@ -506,6 +506,23 @@ static int devm_iio_trigger_match(struct device *dev, void *res, void *data)
return *r == data; return *r == data;
} }
/**
* devm_iio_trigger_alloc - Resource-managed iio_trigger_alloc()
* @dev: Device to allocate iio_trigger for
* @fmt: trigger name format. If it includes format
* specifiers, the additional arguments following
* format are formatted and inserted in the resulting
* string replacing their respective specifiers.
*
* Managed iio_trigger_alloc. iio_trigger allocated with this function is
* automatically freed on driver detach.
*
* If an iio_trigger allocated with this function needs to be freed separately,
* devm_iio_trigger_free() must be used.
*
* RETURNS:
* Pointer to allocated iio_trigger on success, NULL on failure.
*/
struct iio_trigger *devm_iio_trigger_alloc(struct device *dev, struct iio_trigger *devm_iio_trigger_alloc(struct device *dev,
const char *fmt, ...) const char *fmt, ...)
{ {
...@@ -532,6 +549,13 @@ struct iio_trigger *devm_iio_trigger_alloc(struct device *dev, ...@@ -532,6 +549,13 @@ struct iio_trigger *devm_iio_trigger_alloc(struct device *dev,
} }
EXPORT_SYMBOL_GPL(devm_iio_trigger_alloc); EXPORT_SYMBOL_GPL(devm_iio_trigger_alloc);
/**
* devm_iio_trigger_free - Resource-managed iio_trigger_free()
* @dev: Device this iio_dev belongs to
* @iio_trig: the iio_trigger associated with the device
*
* Free iio_trigger allocated with devm_iio_trigger_alloc().
*/
void devm_iio_trigger_free(struct device *dev, struct iio_trigger *iio_trig) void devm_iio_trigger_free(struct device *dev, struct iio_trigger *iio_trig)
{ {
int rc; int rc;
......
...@@ -490,35 +490,12 @@ struct iio_dev { ...@@ -490,35 +490,12 @@ struct iio_dev {
#endif #endif
}; };
/**
* iio_find_channel_from_si() - get channel from its scan index
* @indio_dev: device
* @si: scan index to match
*/
const struct iio_chan_spec const struct iio_chan_spec
*iio_find_channel_from_si(struct iio_dev *indio_dev, int si); *iio_find_channel_from_si(struct iio_dev *indio_dev, int si);
/**
* iio_device_register() - register a device with the IIO subsystem
* @indio_dev: Device structure filled by the device driver
**/
int iio_device_register(struct iio_dev *indio_dev); int iio_device_register(struct iio_dev *indio_dev);
/**
* iio_device_unregister() - unregister a device from the IIO subsystem
* @indio_dev: Device structure representing the device.
**/
void iio_device_unregister(struct iio_dev *indio_dev); void iio_device_unregister(struct iio_dev *indio_dev);
int devm_iio_device_register(struct device *dev, struct iio_dev *indio_dev); int devm_iio_device_register(struct device *dev, struct iio_dev *indio_dev);
void devm_iio_device_unregister(struct device *dev, struct iio_dev *indio_dev); void devm_iio_device_unregister(struct device *dev, struct iio_dev *indio_dev);
/**
* iio_push_event() - try to add event to the list for userspace reading
* @indio_dev: IIO device structure
* @ev_code: What event
* @timestamp: When the event occurred
**/
int iio_push_event(struct iio_dev *indio_dev, u64 ev_code, s64 timestamp); int iio_push_event(struct iio_dev *indio_dev, u64 ev_code, s64 timestamp);
extern struct bus_type iio_bus_type; extern struct bus_type iio_bus_type;
...@@ -582,10 +559,6 @@ static inline void *iio_device_get_drvdata(struct iio_dev *indio_dev) ...@@ -582,10 +559,6 @@ static inline void *iio_device_get_drvdata(struct iio_dev *indio_dev)
/* Can we make this smaller? */ /* Can we make this smaller? */
#define IIO_ALIGN L1_CACHE_BYTES #define IIO_ALIGN L1_CACHE_BYTES
/**
* iio_device_alloc() - allocate an iio_dev from a driver
* @sizeof_priv: Space to allocate for private structure.
**/
struct iio_dev *iio_device_alloc(int sizeof_priv); struct iio_dev *iio_device_alloc(int sizeof_priv);
static inline void *iio_priv(const struct iio_dev *indio_dev) static inline void *iio_priv(const struct iio_dev *indio_dev)
...@@ -599,64 +572,11 @@ static inline struct iio_dev *iio_priv_to_dev(void *priv) ...@@ -599,64 +572,11 @@ static inline struct iio_dev *iio_priv_to_dev(void *priv)
ALIGN(sizeof(struct iio_dev), IIO_ALIGN)); ALIGN(sizeof(struct iio_dev), IIO_ALIGN));
} }
/**
* iio_device_free() - free an iio_dev from a driver
* @indio_dev: the iio_dev associated with the device
**/
void iio_device_free(struct iio_dev *indio_dev); void iio_device_free(struct iio_dev *indio_dev);
/**
* devm_iio_device_alloc - Resource-managed iio_device_alloc()
* @dev: Device to allocate iio_dev for
* @sizeof_priv: Space to allocate for private structure.
*
* Managed iio_device_alloc. iio_dev allocated with this function is
* automatically freed on driver detach.
*
* If an iio_dev allocated with this function needs to be freed separately,
* devm_iio_device_free() must be used.
*
* RETURNS:
* Pointer to allocated iio_dev on success, NULL on failure.
*/
struct iio_dev *devm_iio_device_alloc(struct device *dev, int sizeof_priv); struct iio_dev *devm_iio_device_alloc(struct device *dev, int sizeof_priv);
/**
* devm_iio_device_free - Resource-managed iio_device_free()
* @dev: Device this iio_dev belongs to
* @indio_dev: the iio_dev associated with the device
*
* Free iio_dev allocated with devm_iio_device_alloc().
*/
void devm_iio_device_free(struct device *dev, struct iio_dev *indio_dev); void devm_iio_device_free(struct device *dev, struct iio_dev *indio_dev);
/**
* devm_iio_trigger_alloc - Resource-managed iio_trigger_alloc()
* @dev: Device to allocate iio_trigger for
* @fmt: trigger name format. If it includes format
* specifiers, the additional arguments following
* format are formatted and inserted in the resulting
* string replacing their respective specifiers.
*
* Managed iio_trigger_alloc. iio_trigger allocated with this function is
* automatically freed on driver detach.
*
* If an iio_trigger allocated with this function needs to be freed separately,
* devm_iio_trigger_free() must be used.
*
* RETURNS:
* Pointer to allocated iio_trigger on success, NULL on failure.
*/
struct iio_trigger *devm_iio_trigger_alloc(struct device *dev, struct iio_trigger *devm_iio_trigger_alloc(struct device *dev,
const char *fmt, ...); const char *fmt, ...);
/**
* devm_iio_trigger_free - Resource-managed iio_trigger_free()
* @dev: Device this iio_dev belongs to
* @iio_trig: the iio_trigger associated with the device
*
* Free iio_trigger allocated with devm_iio_trigger_alloc().
*/
void devm_iio_trigger_free(struct device *dev, struct iio_trigger *iio_trig); void devm_iio_trigger_free(struct device *dev, struct iio_trigger *iio_trig);
/** /**
......
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