[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210201145105.20459-1-alexandru.ardelean@analog.com>
Date: Mon, 1 Feb 2021 16:50:54 +0200
From: Alexandru Ardelean <alexandru.ardelean@...log.com>
To: <linux-kernel@...r.kernel.org>, <linux-iio@...r.kernel.org>
CC: <lars@...afoo.de>, <Michael.Hennerich@...log.com>,
<jic23@...nel.org>, <nuno.sa@...log.com>,
<dragos.bogdan@...log.com>, <rafael@...nel.org>,
<gregkh@...uxfoundation.org>,
Alexandru Ardelean <alexandru.ardelean@...log.com>
Subject: [PATCH v3 00/11] iio: core,buffer: add support for multiple IIO buffers per IIO device
Changelog v2 -> v3:
* added commit 'docs: ioctl-number.rst: reserve IIO subsystem ioctl() space'
reserving 'i' 0x90-0x9F ioctls for IIO
I did not see any conflicts with others (in the doc)
- related to this, the new IIO_BUFFER_GET_FD_IOCTL is now at 'i' 0x91
* changed approach for creating sysfs buffer directories;
- they are now created as groups on the IIO device; that also means
that the groups array needs to be krealloc-ed and assign later in
the registration
- merged bufferX/ and scan_elementsX/ directories into a single
bufferX/ directory
- for legacy the buffer/ & scan_elements/ directories are kept; but
they're groups objects have been moved on the iio_dev_opaque object
- internally, the iio_dev_attr type is being extended to hold a
reference for an IIO buffer;
= this is great for scan_elements attributes
= and for the rest of the iio_buffer attributes, it means we need to
wrap them into iio_dev_attr
One thing to be determined: if IIO_BUFFER_GET_FD_IOCTL for buffer0 should
return an FD or not.
Right now, it's returning 0.
Alexandru Ardelean (11):
docs: ioctl-number.rst: reserve IIO subsystem ioctl() space
iio: core: register chardev only if needed
iio: core-trigger: make iio_device_register_trigger_consumer() an int
return
iio: core: rework iio device group creation
iio: buffer: group attr count and attr alloc
iio: core: merge buffer/ & scan_elements/ attributes
iio: add reference to iio buffer on iio_dev_attr
iio: buffer: wrap all buffer attributes into iio_dev_attr
iio: core: wrap iio device & buffer into struct for character devices
iio: buffer: introduce support for attaching more IIO buffers
iio: buffer: add ioctl() to support opening extra buffers for IIO
device
.../userspace-api/ioctl/ioctl-number.rst | 1 +
drivers/iio/iio_core.h | 10 +
drivers/iio/iio_core_trigger.h | 4 +-
drivers/iio/industrialio-buffer.c | 420 +++++++++++++++---
drivers/iio/industrialio-core.c | 87 +++-
drivers/iio/industrialio-event.c | 6 +-
drivers/iio/industrialio-trigger.c | 6 +-
include/linux/iio/buffer.h | 4 +-
include/linux/iio/buffer_impl.h | 21 +-
include/linux/iio/iio-opaque.h | 14 +
include/linux/iio/iio.h | 5 -
include/linux/iio/sysfs.h | 3 +
include/uapi/linux/iio/buffer.h | 10 +
13 files changed, 487 insertions(+), 104 deletions(-)
create mode 100644 include/uapi/linux/iio/buffer.h
--
2.17.1
Powered by blists - more mailing lists