Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933545AbbHJWad (ORCPT ); Mon, 10 Aug 2015 18:30:33 -0400 Received: from mail-wi0-f175.google.com ([209.85.212.175]:35317 "EHLO mail-wi0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932929AbbHJWab (ORCPT ); Mon, 10 Aug 2015 18:30:31 -0400 From: Daniel Baluta To: jic23@kernel.org, jlbec@evilplan.org, linux-iio@vger.kernel.org, linux-fsdevel@vger.kernel.org Cc: lars@metafoo.de, knaack.h@gmx.de, linux-kernel@vger.kernel.org, octavian.purdila@intel.com, pebolle@tiscali.nl, patrick.porlan@intel.com, adriana.reus@intel.com, constantin.musca@intel.com, marten@intuitiveaerial.com, daniel.baluta@intel.com, cristina.opriceana@gmail.com, pmeerw@pmeerw.net, hch@lst.de, viro@zeniv.linux.org.uk, akpm@linux-foundation.org Subject: [PATCH v7 0/5] Add initial configfs support for IIO Date: Tue, 11 Aug 2015 01:42:37 +0300 Message-Id: <1439246562-17515-1-git-send-email-daniel.baluta@intel.com> X-Mailer: git-send-email 2.1.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3611 Lines: 81 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. Also this patchset introduces configfs_(un)register_group to the configfs core in order to allow drivers to dynamically create groups on demand. 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 (un)registration 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 | 20 ++++ Documentation/iio/iio_configfs.txt | 57 ++++++++++ drivers/iio/Kconfig | 16 +++ drivers/iio/Makefile | 2 + drivers/iio/industrialio-configfs.c | 116 ++++++++++++++++++++ drivers/iio/industrialio-sw-trigger.c | 119 ++++++++++++++++++++ drivers/iio/trigger/Kconfig | 10 ++ drivers/iio/trigger/Makefile | 2 + drivers/iio/trigger/iio-trig-hrtimer.c | 193 +++++++++++++++++++++++++++++++++ fs/configfs/dir.c | 39 ++++++- include/linux/configfs.h | 4 + include/linux/iio/sw_trigger.h | 99 +++++++++++++++++ 12 files changed, 675 insertions(+), 2 deletions(-) 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 -- 2.1.4 -- 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/