#include <linux/module.h>
#include <linux/init.h>
#include <linux/kmod.h>
#include <linux/list.h>
#include <linux/slab.h>
#include <linux/iio/sw_device.h>
#include <linux/iio/configfs.h>
#include <linux/configfs.h>
static struct config_group *iio_devices_group;
static const struct config_item_type iio_device_type_group_type;
static const struct config_item_type iio_devices_group_type = …;
static LIST_HEAD(iio_device_types_list);
static DEFINE_MUTEX(iio_device_types_lock);
static
struct iio_sw_device_type *__iio_find_sw_device_type(const char *name,
unsigned int len)
{ … }
int iio_register_sw_device_type(struct iio_sw_device_type *d)
{ … }
EXPORT_SYMBOL(…);
void iio_unregister_sw_device_type(struct iio_sw_device_type *dt)
{ … }
EXPORT_SYMBOL(…);
static
struct iio_sw_device_type *iio_get_sw_device_type(const char *name)
{ … }
struct iio_sw_device *iio_sw_device_create(const char *type, const char *name)
{ … }
EXPORT_SYMBOL(…);
void iio_sw_device_destroy(struct iio_sw_device *d)
{ … }
EXPORT_SYMBOL(…);
static struct config_group *device_make_group(struct config_group *group,
const char *name)
{ … }
static void device_drop_group(struct config_group *group,
struct config_item *item)
{ … }
static struct configfs_group_operations device_ops = …;
static const struct config_item_type iio_device_type_group_type = …;
static int __init iio_sw_device_init(void)
{ … }
module_init(…) …;
static void __exit iio_sw_device_exit(void)
{ … }
module_exit(iio_sw_device_exit);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;