Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1272243
| From | Marc Titinger <mtitinger@baylibre.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [RFC 2/9] iio: core: Introduce IIO configfs support |
| Date | 2015-11-18 15:50 +0100 |
| Message-ID | <qwcdA-4dg-27@gated-at.bofh.it> (permalink) |
| References | <qwc3T-48h-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
From: Daniel Baluta <daniel.baluta@intel.com>
This patch creates the IIO configfs root group. The group
will appear under <mount-point>/iio/, usually /config/iio.
We introduce configfs support in IIO in order to be able to easily
create IIO objects from userspace. The first supported IIO objects
are triggers introduced with next patches.
Signed-off-by: Daniel Baluta <daniel.baluta@intel.com>
Tested-by: Matt Ranostay <matt.ranostay@intel.com>
---
drivers/iio/Kconfig | 8 ++++++
drivers/iio/Makefile | 1 +
drivers/iio/industrialio-configfs.c | 50 +++++++++++++++++++++++++++++++++++++
3 files changed, 59 insertions(+)
create mode 100644 drivers/iio/industrialio-configfs.c
diff --git a/drivers/iio/Kconfig b/drivers/iio/Kconfig
index 4011eff..17cac8e 100644
--- a/drivers/iio/Kconfig
+++ b/drivers/iio/Kconfig
@@ -42,6 +42,14 @@ config IIO_TRIGGERED_BUFFER
endif # IIO_BUFFER
+config IIO_CONFIGFS
+ tristate "Enable IIO configuration via configfs"
+ select CONFIGFS_FS
+ help
+ This allows configuring various IIO bits through configfs
+ (e.g. software triggers). For more info see
+ Documentation/iio/iio_configfs.txt.
+
config IIO_TRIGGER
bool "Enable triggered sampling support"
help
diff --git a/drivers/iio/Makefile b/drivers/iio/Makefile
index 698afc2..72e85c42 100644
--- a/drivers/iio/Makefile
+++ b/drivers/iio/Makefile
@@ -8,6 +8,7 @@ industrialio-$(CONFIG_IIO_BUFFER) += industrialio-buffer.o
industrialio-$(CONFIG_IIO_TRIGGER) += industrialio-trigger.o
industrialio-$(CONFIG_IIO_BUFFER_CB) += buffer_cb.o
+obj-$(CONFIG_IIO_CONFIGFS) += industrialio-configfs.o
obj-$(CONFIG_IIO_TRIGGERED_BUFFER) += industrialio-triggered-buffer.o
obj-$(CONFIG_IIO_KFIFO_BUF) += kfifo_buf.o
diff --git a/drivers/iio/industrialio-configfs.c b/drivers/iio/industrialio-configfs.c
new file mode 100644
index 0000000..83563dd
--- /dev/null
+++ b/drivers/iio/industrialio-configfs.c
@@ -0,0 +1,50 @@
+/*
+ * Industrial I/O configfs bits
+ *
+ * Copyright (c) 2015 Intel Corporation
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as published by
+ * the Free Software Foundation.
+ */
+
+#include <linux/configfs.h>
+#include <linux/module.h>
+#include <linux/init.h>
+#include <linux/kmod.h>
+#include <linux/slab.h>
+
+#include <linux/iio/iio.h>
+
+static struct config_item_type iio_root_group_type = {
+ .ct_owner = THIS_MODULE,
+};
+
+struct configfs_subsystem iio_configfs_subsys = {
+ .su_group = {
+ .cg_item = {
+ .ci_namebuf = "iio",
+ .ci_type = &iio_root_group_type,
+ },
+ },
+ .su_mutex = __MUTEX_INITIALIZER(iio_configfs_subsys.su_mutex),
+};
+EXPORT_SYMBOL(iio_configfs_subsys);
+
+static int __init iio_configfs_init(void)
+{
+ config_group_init(&iio_configfs_subsys.su_group);
+
+ return configfs_register_subsystem(&iio_configfs_subsys);
+}
+module_init(iio_configfs_init);
+
+static void __exit iio_configfs_exit(void)
+{
+ configfs_unregister_subsystem(&iio_configfs_subsys);
+}
+module_exit(iio_configfs_exit);
+
+MODULE_AUTHOR("Daniel Baluta <daniel.baluta@intel.com>");
+MODULE_DESCRIPTION("Industrial I/O configfs support");
+MODULE_LICENSE("GPL v2");
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[RFC 0/9] spawn hrtimer trigger from client driver upon enabling buffer Marc Titinger <mtitinger@baylibre.com> - 2015-11-18 15:40 +0100
[RFC 1/9] configfs: Allow dynamic group creation Marc Titinger <mtitinger@baylibre.com> - 2015-11-18 15:40 +0100
[RFC 7/9] iio: ina2xx: add triggered buffer Marc Titinger <mtitinger@baylibre.com> - 2015-11-18 15:50 +0100
[RFC 2/9] iio: core: Introduce IIO configfs support Marc Titinger <mtitinger@baylibre.com> - 2015-11-18 15:50 +0100
[RFC 8/9] iio: buffer: allow for last-second trigger spawning from device driver Marc Titinger <mtitinger@baylibre.com> - 2015-11-18 15:50 +0100
Re: [RFC 8/9] iio: buffer: allow for last-second trigger spawning from device driver Jonathan Cameron <jic23@kernel.org> - 2015-11-18 20:00 +0100
Re: [RFC 8/9] iio: buffer: allow for last-second trigger spawning from device driver Marc Titinger <mtitinger@baylibre.com> - 2015-11-19 10:20 +0100
Re: [RFC 8/9] iio: buffer: allow for last-second trigger spawning from device driver Jonathan Cameron <jic23@kernel.org> - 2015-11-21 19:20 +0100
[RFC 3/9] iio: core: Introduce IIO software triggers Marc Titinger <mtitinger@baylibre.com> - 2015-11-18 15:50 +0100
[RFC 6/9] iio: ina2xx: add direct IO support for TI INA2xx Power Monitors Marc Titinger <mtitinger@baylibre.com> - 2015-11-18 15:50 +0100
Re: [RFC 6/9] iio: ina2xx: add direct IO support for TI INA2xx Power Monitors Jonathan Cameron <jic23@kernel.org> - 2015-11-21 19:20 +0100
Re: [RFC 6/9] iio: ina2xx: add direct IO support for TI INA2xx Power Monitors Marc Titinger <mtitinger@baylibre.com> - 2015-11-23 17:20 +0100
Re: [RFC 6/9] iio: ina2xx: add direct IO support for TI INA2xx Power Monitors Jonathan Cameron <jic23@kernel.org> - 2015-11-29 16:20 +0100
csiph-web