All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexandru Ardelean <alexandru.ardelean@analog.com>
To: <linux-iio@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Cc: <lars@metafoo.de>, <jic23@kernel.org>, <pmeerw@pmeerw.net>,
	"Alexandru Ardelean" <alexandru.ardelean@analog.com>
Subject: [PATCH v4 0/7] iio: core,buffer: re-organize chardev creation
Date: Fri, 24 Apr 2020 07:56:35 +0300	[thread overview]
Message-ID: <20200424045642.4903-1-alexandru.ardelean@analog.com> (raw)

The main intent is to be able to add more chardevs per IIO device, one
for each buffer. To get there, some rework is needed.

Since v3, some changes have been done. See changelog

Changelog v3 -> v4:
- added patch [1] 'iio: Use an early return in iio_device_alloc to simplify code.'
  it's main purpose is so that this patch applies:
     [2]'iio: core: add simple centralized mechanism for ioctl() handlers'
  depending on the final version of patch [1], patch [2] needs some
  minor fixup
- added patch 'iio: core,buffer: wrap iio_buffer_put() call into iio_buffers_put()'
- patch 'iio: core: register buffer fileops only if buffer present'
  is now: 'iio: core: register chardev only if needed'
- dropped 'iio: buffer: move sysfs alloc/free in industrialio-buffer.c'
  it's likely we won't be doing this patch anymore
- patches:
    'iio: buffer: move iio buffer chrdev in industrialio-buffer.c'
    'iio: event: move event-only chardev in industrialio-event.c'
  have been merged into 'iio: buffer,event: duplicate chardev creation for buffers & events'
  since now, the logic is a bit different, and 'indio_dev->chrdev' is
  now a reference to either the buffer's chrdev & or the events-only
  chrdev
- added simple mechanism to register ioctl() handlers for IIO device
  which is currently used only by events mechanism

Changelog v2 -> v3:
* removed double init in
  'iio: event: move event-only chardev in industrialio-event.c'

Changelog v1 -> v2:
* re-reviewed some exit-paths and cleanup some potential leaks on those
  exit paths:
  - for 'iio: buffer: move iio buffer chrdev in industrialio-buffer.c'
    add iio_device_buffers_put() helper and calling iio_buffers_uninit()
    on device un-regsiter
  - for 'move sysfs alloc/free in industrialio-buffer.c'
    call 'iio_buffer_free_sysfs_and_mask()' on exit path if
    cdev_device_add() fails
  - for 'move event-only chardev in industrialio-event.c'
    check if event_interface is NULL in
    iio_device_unregister_event_chrdev()

Alexandru Ardelean (6):
  iio: buffer: add back-ref from iio_buffer to iio_dev
  iio: core,buffer: wrap iio_buffer_put() call into iio_buffers_put()
  iio: core: register chardev only if needed
  iio: buffer,event: duplicate chardev creation for buffers & events
  iio: core: add simple centralized mechanism for ioctl() handlers
  iio: core: use new common ioctl() mechanism

Jonathan Cameron (1):
  iio: Use an early return in iio_device_alloc to simplify code.

 drivers/iio/iio_core.h            |  29 ++++--
 drivers/iio/industrialio-buffer.c | 102 ++++++++++++++++++--
 drivers/iio/industrialio-core.c   | 151 ++++++++++++------------------
 drivers/iio/industrialio-event.c  | 100 +++++++++++++++++++-
 include/linux/iio/buffer_impl.h   |  10 ++
 include/linux/iio/iio.h           |   8 +-
 6 files changed, 290 insertions(+), 110 deletions(-)

-- 
2.17.1


             reply	other threads:[~2020-04-24  4:56 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-24  4:56 Alexandru Ardelean [this message]
2020-04-24  4:56 ` [PATCH v4 1/7] iio: Use an early return in iio_device_alloc to simplify code Alexandru Ardelean
2020-04-26  7:28   ` Ardelean, Alexandru
2020-04-24  4:56 ` [PATCH v4 2/7] iio: buffer: add back-ref from iio_buffer to iio_dev Alexandru Ardelean
2020-04-24  4:56 ` [PATCH v4 3/7] iio: core,buffer: wrap iio_buffer_put() call into iio_buffers_put() Alexandru Ardelean
2020-04-24  4:56 ` [PATCH v4 4/7] iio: core: register chardev only if needed Alexandru Ardelean
2020-04-24  4:56 ` [PATCH v4 5/7] iio: buffer,event: duplicate chardev creation for buffers & events Alexandru Ardelean
2020-04-24  4:56 ` [PATCH v4 6/7] iio: core: add simple centralized mechanism for ioctl() handlers Alexandru Ardelean
2020-04-24  4:56 ` [PATCH v4 7/7] iio: core: use new common ioctl() mechanism Alexandru Ardelean

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200424045642.4903-1-alexandru.ardelean@analog.com \
    --to=alexandru.ardelean@analog.com \
    --cc=jic23@kernel.org \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pmeerw@pmeerw.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.