From: Jonathan Cameron <jic23@kernel.org>
To: linux-iio@vger.kernel.org
Cc: Daniel Baluta <daniel.baluta@gmail.com>,
Hartmut Knaack <knaack.h@gmx.de>,
Lars-Peter Clausen <lars@metafoo.de>,
Peter Meerwald-Stadler <pmeerw@pmeerw.net>,
Jonathan Cameron <jic23@kernel.org>
Subject: [PATCH 02/11] iio:buffer.h Reformat structure comments to be inline.
Date: Mon, 2 Jan 2017 19:28:25 +0000 [thread overview]
Message-ID: <20170102192834.26546-3-jic23@kernel.org> (raw)
In-Reply-To: <20170102192834.26546-1-jic23@kernel.org>
This should make it easier to see how the structure is split into
public and private parts - reflected in the generated documentation.
Deliberately use /* instead of /** for the private elements to avoid
warnings when kernel-doc script runs.
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
---
include/linux/iio/buffer.h | 100 ++++++++++++++++++++++++++++-----------------
1 file changed, 63 insertions(+), 37 deletions(-)
diff --git a/include/linux/iio/buffer.h b/include/linux/iio/buffer.h
index 889d0f2f5d7b..4a65a7bb40a4 100644
--- a/include/linux/iio/buffer.h
+++ b/include/linux/iio/buffer.h
@@ -74,45 +74,71 @@ struct iio_buffer_access_funcs {
/**
* struct iio_buffer - general buffer structure
- * @length: [DEVICE] number of datums in buffer
- * @bytes_per_datum: [DEVICE] size of individual datum including timestamp
- * @scan_el_attrs: [DRIVER] control of scan elements if that scan mode
- * control method is used
- * @scan_mask: [INTERN] bitmask used in masking scan mode elements
- * @scan_timestamp: [INTERN] does the scan mode include a timestamp
- * @access: [DRIVER] buffer access functions associated with the
- * implementation.
- * @scan_el_dev_attr_list:[INTERN] list of scan element related attributes.
- * @buffer_group: [INTERN] attributes of the buffer group
- * @scan_el_group: [DRIVER] attribute group for those attributes not
- * created from the iio_chan_info array.
- * @pollq: [INTERN] wait queue to allow for polling on the buffer.
- * @stufftoread: [INTERN] flag to indicate new data.
- * @attrs: [INTERN] standard attributes of the buffer
- * @demux_list: [INTERN] list of operations required to demux the scan.
- * @demux_bounce: [INTERN] buffer for doing gather from incoming scan.
- * @buffer_list: [INTERN] entry in the devices list of current buffers.
- * @ref: [INTERN] reference count of the buffer.
- * @watermark: [INTERN] number of datums to wait for poll/read.
+ *
+ * Note that the internals of this structure should only be of interest to
+ * those writing new buffer implementations.
*/
struct iio_buffer {
- int length;
- int bytes_per_datum;
- struct attribute_group *scan_el_attrs;
- long *scan_mask;
- bool scan_timestamp;
- const struct iio_buffer_access_funcs *access;
- struct list_head scan_el_dev_attr_list;
- struct attribute_group buffer_group;
- struct attribute_group scan_el_group;
- wait_queue_head_t pollq;
- bool stufftoread;
- const struct attribute **attrs;
- struct list_head demux_list;
- void *demux_bounce;
- struct list_head buffer_list;
- struct kref ref;
- unsigned int watermark;
+ /** @length: Number of datums in buffer. */
+ int length;
+
+ /** @bytes_per_datum: Size of individual datum including timestamp. */
+ int bytes_per_datum;
+
+ /**
+ * @access: Buffer access functions associated with the
+ * implementation.
+ */
+ const struct iio_buffer_access_funcs *access;
+
+ /** @scan_mask: Bitmask used in masking scan mode elements. */
+ long *scan_mask;
+
+ /** @demux_list: List of operations required to demux the scan. */
+ struct list_head demux_list;
+
+ /** @pollq: Wait queue to allow for polling on the buffer. */
+ wait_queue_head_t pollq;
+
+ /** @watermark: Number of datums to wait for poll/read. */
+ unsigned int watermark;
+
+ /* private: */
+ /*
+ * @scan_el_attrs: Control of scan elements if that scan mode
+ * control method is used.
+ */
+ struct attribute_group *scan_el_attrs;
+
+ /* @scan_timestamp: Does the scan mode include a timestamp. */
+ bool scan_timestamp;
+
+ /* @scan_el_dev_attr_list: List of scan element related attributes. */
+ struct list_head scan_el_dev_attr_list;
+
+ /* @buffer_group: Attributes of the buffer group. */
+ struct attribute_group buffer_group;
+
+ /*
+ * @scan_el_group: Attribute group for those attributes not
+ * created from the iio_chan_info array.
+ */
+ struct attribute_group scan_el_group;
+
+ /* @stufftoread: Flag to indicate new data. */
+ bool stufftoread;
+
+ /* @attrs: Standard attributes of the buffer. */
+ const struct attribute **attrs;
+
+ /* @demux_bounce: Buffer for doing gather from incoming scan. */
+ void *demux_bounce;
+
+ /* @buffer_list: Entry in the devices list of current buffers. */
+ struct list_head buffer_list;
+
+ /* @ref: Reference count of the buffer. */
+ struct kref ref;
};
/**
--
2.11.0
next prev parent reply other threads:[~2017-01-02 19:28 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-02 19:28 [PATCH 00/11] buffer.h cleanup and split Jonathan Cameron
2017-01-02 19:28 ` [PATCH 01/11] iio:buffer: Stop exporting iio_update_demux Jonathan Cameron
2017-01-02 19:28 ` Jonathan Cameron [this message]
2017-01-02 19:28 ` [PATCH 03/11] iio:buffer: Introduced a function to assign the buffer specific attrs Jonathan Cameron
2017-01-02 19:28 ` [PATCH 04/11] iio:buffer: Stop exporting iio_scan_mask_query Jonathan Cameron
2017-01-02 19:28 ` [PATCH 05/11] iio:buffers: Push some docs down into the .c file Jonathan Cameron
2017-01-02 19:28 ` [PATCH 06/11] iio:buffer:iio_push_to_buffers_with_timestamp fix kernel-doc Jonathan Cameron
2017-01-02 19:28 ` [PATCH 07/11] iio:kfifo_buf header include push down Jonathan Cameron
2017-01-07 21:52 ` Jonathan Cameron
2017-01-02 19:28 ` [PATCH 08/11] iio:buffer.h include pushdown into buffer implementations Jonathan Cameron
2017-01-02 19:28 ` [PATCH 09/11] iio:buffer: Push implementation of iio_device_attach_buffer into .c file Jonathan Cameron
2017-01-07 22:00 ` Jonathan Cameron
2017-01-02 19:28 ` [PATCH 10/11] iio:dummy: Stop enabling timestamp by default Jonathan Cameron
2017-01-02 19:28 ` [PATCH 11/11] iio:buffer.h - split into buffer.h and buffer_impl.h Jonathan Cameron
2017-01-04 18:41 ` [PATCH 00/11] buffer.h cleanup and split Lars-Peter Clausen
2017-01-07 19:45 ` Jonathan Cameron
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=20170102192834.26546-3-jic23@kernel.org \
--to=jic23@kernel.org \
--cc=daniel.baluta@gmail.com \
--cc=knaack.h@gmx.de \
--cc=lars@metafoo.de \
--cc=linux-iio@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 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).