linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v8 0/5] Add initial configfs support for IIO
@ 2015-10-20 10:53 Daniel Baluta
  2015-10-20 10:53 ` [PATCH v8 1/5] configfs: Allow dynamic group creation Daniel Baluta
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Daniel Baluta @ 2015-10-20 10:53 UTC (permalink / raw)
  To: jic23, jlbec, linux-iio, linux-fsdevel, lars
  Cc: knaack.h, linux-kernel, octavian.purdila, pebolle, patrick.porlan,
	adriana.reus, constantin.musca, marten, daniel.baluta,
	cristina.opriceana, pmeerw, hch, viro, akpm

This patchset introduces IIO software triggers, offers a way of configuring
them via configfs and adds the IIO hrtimer based interrupt source to be used
with software triggers.

The arhitecture is now split in 3 parts, to remove all IIO trigger specific
parts from IIO configfs core:

(1) IIO configfs - offers a generic way of creating IIO objects. So far there
        is one default group for triggers.
(2) IIO software triggers - software trigger implementation.
(3) IIO hrtimer trigger - is the first interrupt source for software triggers
        (with syfs to follow). Each trigger type can implement its own set of
        attributes.

Lockdep seems to be happy with the locking in configfs patch.

Changes since v7:
   * patch 1/5
	* do not add dentry parameter for create_default_group, we can
	  retrieve it from group.
	* call configfs_detach_prep before configfs_detach_group in
	  configfs_unregister_group.
	* call link_group/unlink_group under su_mutex lock
	* take configfs_dirent_lock when calling configfs_dir_set_ready
  * patch 2/5
	* export iio_triggers_group, this will be later used by sw triggers
  * patch 3/5
	* make iio_sw_trigger part of industrialio core
	* fix compilation problem reported by Vladimir and Lars. Things didn't
	get well when having IIO_SW_TRIGGER enabled and IIO_CONFIGFS disabled.
	* use format string in config_item_set_name
	* make iio_unregister_sw_trigger_type return type void.
  * patch 4/5
	* none
  * patch 5/5
	* include a small trigger type sample example.

Changes since v6:
        * implemented Lars-Peter's idea (https://lkml.org/lkml/2015/5/13/302)
        to switch from /config/iio/triggers/hrtimer-instance1 to
        /config/iio/triggers/instance1.

Changes since v5: (after Lars comments)
        * the most important change is that we moved sampling_frequency attribute
        from configfs to trigger's directory in /sys.
        * couple of const added to strings
        * documentation to public API in sw_trigger.h
        * replace pr_err with WARN_ONCE in trigger_make_group to avoid spamming
        kernel log, but without leaving user clueless in case of errors.
        * we still need to decide if we get a real gain by adding min/max limits
        for sampling frequency in /config dir. Anyhow, this can be done in a later
        patch.
        * fix race in hrtimer_remove

Changes since v4:
        * patch 1/4
                - fixed "new line" nit in industrialio-sw-trigger.c
                - added license header in sw_trigger.h o
        * patch 2/4
                - none
        * patch 3/4
                - none
        * patch 4/4
                - removed "Further work" chapter in iio_configfs.txt

                - added configfs-iio file in Documentation/ABI/testing

Daniel Baluta (5):
  configfs: Allow dynamic group creation
  iio: core: Introduce IIO configfs support
  iio: core: Introduce IIO software triggers
  iio: trigger: Introduce IIO hrtimer based trigger
  iio: Documentation: Add IIO configfs documentation

 Documentation/ABI/testing/configfs-iio |  21 ++++
 Documentation/iio/iio_configfs.txt     |  93 ++++++++++++++++
 drivers/iio/Kconfig                    |  15 +++
 drivers/iio/Makefile                   |   2 +
 drivers/iio/industrialio-configfs.c    | 103 ++++++++++++++++++
 drivers/iio/industrialio-sw-trigger.c  | 137 +++++++++++++++++++++++
 drivers/iio/trigger/Kconfig            |  10 ++
 drivers/iio/trigger/Makefile           |   2 +
 drivers/iio/trigger/iio-trig-hrtimer.c | 193 +++++++++++++++++++++++++++++++++
 fs/configfs/dir.c                      |  50 +++++++++
 include/linux/configfs.h               |   4 +
 include/linux/iio/sw_trigger.h         | 120 ++++++++++++++++++++
 12 files changed, 750 insertions(+)
 create mode 100644 Documentation/ABI/testing/configfs-iio
 create mode 100644 Documentation/iio/iio_configfs.txt
 create mode 100644 drivers/iio/industrialio-configfs.c
 create mode 100644 drivers/iio/industrialio-sw-trigger.c
 create mode 100644 drivers/iio/trigger/iio-trig-hrtimer.c
 create mode 100644 include/linux/iio/sw_trigger.h

-- 
1.9.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2015-10-22  8:59 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-20 10:53 [PATCH v8 0/5] Add initial configfs support for IIO Daniel Baluta
2015-10-20 10:53 ` [PATCH v8 1/5] configfs: Allow dynamic group creation Daniel Baluta
     [not found]   ` <1445338426-4126-2-git-send-email-daniel.baluta-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-10-22  8:40     ` Christoph Hellwig
2015-10-22  8:59       ` Daniel Baluta
2015-10-20 10:53 ` [PATCH v8 2/5] iio: core: Introduce IIO configfs support Daniel Baluta
2015-10-20 14:39   ` kbuild test robot
2015-10-20 10:53 ` [PATCH v8 3/5] iio: core: Introduce IIO software triggers Daniel Baluta
2015-10-20 12:09   ` kbuild test robot
     [not found]     ` <1445338426-4126-4-git-send-email-daniel.baluta-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-10-20 12:09       ` [RFC PATCH] iio: core: iio_triggers_group_type can be static kbuild test robot
2015-10-20 10:53 ` [PATCH v8 4/5] iio: trigger: Introduce IIO hrtimer based trigger Daniel Baluta
2015-10-20 10:53 ` [PATCH v8 5/5] iio: Documentation: Add IIO configfs documentation Daniel Baluta
     [not found]   ` <1445338426-4126-6-git-send-email-daniel.baluta-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-10-20 11:50     ` Crt Mori
2015-10-20 13:28       ` Daniel Baluta

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).