History log of /drivers/staging/iio/iio.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e553f182d55bd268fea3f106368e2344141c212a 01-Mar-2012 Michael Hennerich <michael.hennerich@analog.com> staging: iio: core: Introduce debugfs support, add support for direct register access

Changes since V1:

Exclude iio debugfs code in case CONFIG_DEBUG_FS isn't enabled.
Introduce helper function iio_get_debugfs_dentry.
Document additions to struct iio_dev

iio_debugfs_read_reg:
Use snprintf.
Use a shorter fixed length.
Introduce len instead of pointer math.

iio_debugfs_write_reg:
Fix return value use PT_ERR.

Changes since V2:

Use debugfs_remove.
Fix whitespace damage.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
/drivers/staging/iio/iio.h
4abf6f8b29e37f492078173a9d4cb808ce327ec0 01-Mar-2012 Justin P. Mattock <justinmattock@gmail.com> drivers:staging:iio Fix typos and comments in staging iio.

The below patch fixes some comments and some typos that I have found
while reading drivers/staging/iio/*

Signed-off-by: Justin P. Mattock <justinmattock@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
/drivers/staging/iio/iio.h
cd4361c7e2e0778016a770157d0ccf126fca7a2a 22-Feb-2012 Michael Hennerich <michael.hennerich@analog.com> iio: core: constitfy available_scan_mask

The core must not modify available_scan_mask, because it causes problems
with drivers where multiple instances of the driver share the same mask set.
So make this explicit by marking available scan masks as const.

The max1363 driver needs some minor adjustment to accommodate this change.
Pull scan mask allocation into a separate function.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
/drivers/staging/iio/iio.h
5f420b42079c115daf3b45bbd15bcb6b7b05ad21 21-Feb-2012 Lars-Peter Clausen <lars@metafoo.de> staging:iio: Add extended IIO channel info

Sometimes devices have per channel properties which either do not map nicely to
the current channel info scheme (e.g. string properties) or are very device
specific, so it does not make sense to add generic support for them.

Currently drivers define these attributes by hand for each channel. Depending on
the number of channels this can amount to quite a few lines of boilerplate code.
Especially if a driver supports multiple variations of a chip with different
numbers of channels. In this case it becomes necessary to have a individual
attribute list per chip variation and also a individual iio_info struct.

This patch introduces a new scheme for handling such per channel attributes
called extended channel info attributes. A extended channel info attribute
consist of a name, a flag whether it is shared and read and write callbacks.
The read and write callbacks are similar to the {read,write}_raw callbacks and
take a IIO device and a channel as their first parameters, but instead of
pre-parsed integer values they directly get passed the raw string value, which
has been written to the sysfs file.

It is possible to assign a list of extended channel info attributes to a
channel. For each extended channel info attribute the IIO core will create a new
sysfs attribute conforming to the IIO channel naming spec for the channels type,
similar as for normal info attributes. Read and write access to this sysfs
attribute will be redirected to the extended channel info attributes read and
write callbacks.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
/drivers/staging/iio/iio.h
ad2c08b620aafc9362bd7a8a0fb828a9bb9386de 15-Feb-2012 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: move iio data return types into types.h for use by inkern

In kernel interfaces need these, so make them available.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
/drivers/staging/iio/iio.h
ac917a81117ce0286847666b55dd265f6cda8383 15-Feb-2012 Jonathan Cameron <jic23@kernel.org> staging:iio:core set the iio_dev.info pointer to null on unregister under lock.

This prevents use of provider callbacks after it has been unregistered.
Note that all code using this that can be called from a consumer *must*
check the pointer before using and hold the info_exist_lock throughout
the usage of the callbacks in info.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
/drivers/staging/iio/iio.h
bb01443e2cdad4ff5b98e00252e93110d00f4392 19-Dec-2011 Lars-Peter Clausen <lars@metafoo.de> staging:iio: Make sure a device is only opened once at a time

Our buffer implementation does not support multiple concurrent readers. So we
have to ensure that a device is only opened once at a time. So do the same thing
we do for the event fd and introduce a per device busy flag. The flag gets set
when opening the device and gets cleared when closing the device. If a open is
attempted while the busy flag is set we return -EBUSY.

Acked-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
1612244f8a70dae6a7f266e78c5ba22a3db75780 05-Dec-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio:buffer move setup ops from buffer instance to iio_dev

These callbacks should not be buffer instance specific.
Hence move them out of the buffer.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
6c63dded7fcd5b69f8492895b5584333e32b822d 05-Dec-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: core: add datasheet_name to chan_spec

This allows for matching against the name given
on a datasheet, however silly/inconsistent it might
be.

Useful for in kernel interfaces.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
959d2952d124f06d90d2874ac4a0edb07e26eee3 05-Dec-2011 Jonathan Cameron <jic23@kernel.org> staging:iio: make iio_sw_buffer_preenable much more general.

Also introduces active_scan_mask storage to tell the core what is
really being currently captured from the device (different from
what is desired as often has bonus channels).

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Tested-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
4d5f8d3db5efd65e36500304cfc029c2e5854a85 05-Dec-2011 Jonathan Cameron <jic23@kernel.org> staging:iio: add hook to allow core to perform scan related config.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
5fb21c824e8ff22ae9361a789e8b845d72ae0557 05-Dec-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio:find iio channel from scan index util function

Useful for getting to the channel based on scan mask alone.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
df94aba81f81c50ff3f4774c121217b03aaf4f27 27-Nov-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: filter description - low pass 3db frequency.

Introduce the first data filtering related parameter.
For now we are ignoring the filter type and merely specifying its
approximate (I read them off tiny graphs) 3db point.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
c8a9f8056f40f6201b84fdddb49a1c62630902c5 26-Oct-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio:treewide only use shared to decide on interfaces

Internally the fact that say scale is shared across channels is
actually of remarkably little interest. Hence lets not store it.
Numerous devices have weird combinations of channels sharing
scale anyway so it is not as though this was really telling
us much. Note however that we do still use the shared sysfs
attrs thus massively reducing the number of attrs in complex
drivers.

Side effect is that certain drivers that were abusing this
(mostly my work) needed to do a few more checks on what the
channel they are being queried on actually is.

This is also helpful for in kernel interfaces where we
just want to query the scale and don't care whether it
is shared with other channels or not.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
924f8a21dd13223cc1493a916c6769cf73e0d45e 26-Oct-2011 Lars-Peter Clausen <lars@metafoo.de> staging:iio: Do not use bitmasks for channel info addresses

Currently the iio framework uses bitmasks for the address field of channel info
attributes. This is for historical reasons and no longer required since it will
only ever query a single info attribute at once. This patch changes the code to
use the non-shifted iio_chan_info_enum values for the info attribute address.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
af5046af1c812839f085030f358a01814666fc80 26-Oct-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: header reorganization

Issue brought up by Lars-Peter Clausen. This is a varient of what
he suggested.

io/iio.h for driver stuff (has to include types.h)
Sub files for the bits drivers may or may not use
iio/sysfs.h
iio/buffer.h (contents of current buffer_generic.h)
(obviously anything offering events will need events.h as well)
iio/types.h for the enums that matter to both
iio_chan_type, iio_modifier
iio/events.h for the event code stuff
IIO_EVENT_CODE and friends. + everything in chrdev.h So this
is the stuff that userspace cares about.
Also include iio_event_type, iio_event_direction

Thus iio drivers include iio.h + as required
events.h
sysfs.h
buffer.h

in kernel users (once that interface is merged) will need inkern.h
which will pull in types.h

Userspace will need just events.h (which pulls in types.h) to get
everything they need to know about. Buffer userspace access doesn't
currently need any core defines. All information about the data
format is passed through sysfs.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
f8c6f4e9a40d47ce86a641eb20fb7c5a59f06ff0 06-Oct-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio:core:naming: dev_info to indio_dev for consistency

We had a random missmatch of these two. Lets pick the most common
and get rid of the other. This patch covers the core. Others
will clean up the drivers.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
41ea040c7b6daf05d4884097b0168e7b74c6c0d0 05-Oct-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: rename gyro channels to anglvel

Ensure naming reflects what is measured, not how it is done.
Resolvers can measure the same thing for starters.
IIO_GYRO->IIO_ANGL_VEL to ensure consistent naming.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
6835cb6b438b77ba82ad5a23944bbfb12128f5db 27-Sep-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: unwind the IIO_IN -> IIO_VOLTAGE define

This was originally there to avoid churn during a complex change.
Now everything is stable lets get rid of this as it is missleading
and confusing.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
14555b14455f9acbdf0e500ae96140828a970796 21-Sep-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: replacing term ring with buffer in the IIO core.

They aren't always ring buffers, so just use buffer for all naming.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
ec3afa40c648ed17eb2a83a4b7249deab3631f61 21-Sep-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: tree wide IIO_RING_TRIGGERED -> IIO_BUFFER_TRIGGERED

also, IIO_RING_HARDWARE_BUFFER -> IIO_BUFFER_HARDWARE

These aren't always rings so the naming should not imply that.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
ade7ef7ba3bf888b90269f8ca864841b2cd9803f 02-Sep-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: Differential channel handling - use explicit flag rather than types.

Straight forward change in the core, but required some drivers to not use
the IIO_CHAN macro as that doesn't allow setting this bit (and is
going away anyway). Hence the churn.

Tested on max1363 with a couple of supported parts.

V2: differential bit in code got 7 bits and direction 1. Reversed that.
Issue spotted by Michael - thanks!

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Acked-by: Michael Hennerich <Michael.Hennerich@analog.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
66dbe70437b561c241d1117dd291c11db21072fd 02-Sep-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: Add capacitance type and average_raw chan info.

These are both needed for CAPADCs

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Acked-by: Michael Hennerich <Michael.Hennerich@analog.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
26d25ae3f0d8ffe350aacc75b71198d6b35bd1f4 02-Sep-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: rework of attribute registration.

This set also includes quite a number of bug fixes of particularly
remove functions.

Necessary due to issue pointed out in Bart Van Assche's patch:
docs/driver-model: Document device.groups

V2: Rebase due to patch reordering.
V3: Pull various error fixes and cleanups out into their own patches.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Acked-by: Michael Hennerich <Michael.Hennerich@analog.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
330c6c57e6284a755d7e8a031b3c917571ee6dc3 02-Sep-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio:events - new 64 bit code structure and push out drivers.

This costs us nothing in event storage (as we are carrying a 64 bit
timestamp in the structure) and gives us lots more room to play with.

Also allows for more channels which some parts need.

V2: Cleanup some loose ends (such as the switch with only one option now).

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
32b5eecab0f2d6f66f2e237e161d58d5916f8b13 02-Sep-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: Switch the channel masks to bitmaps so as to allow for more channels.

This is as light as possible on changes to current drivers.
Some drivers make assumptions that their masks fit in a single
long. Given they were previously working this is clearly valid if
not tidy.

The max1363 is an example where there should be no such assumptions.

V2: Add the new ad5933

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Acked-by: Michael Hennerich <Michael.Hennerich@analog.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
8310b86c3cd2f813bb9ed330447bcb2877b8328a 02-Sep-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio:scan element types: introduce endian description to the data format.

If not set in chan_spec, cpu endianness used.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
c6fc806247be874c2e6d9a9494489a0430f92718 02-Sep-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: ABI rework - add in_ or out_ prefix to channnels

Also involves changing current inX outX to in_voltageX and out_voltageX

V2: squash users of the IIO_CHAN_OUT macro and get rid of it.
There are very few of these, so it is easier to fix them.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Acked-by: Michael Hennerich <Michael.Hennerich@analog.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
9dd1cb303c18f4508abc69f5b40f423ff36a9626 30-Aug-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: push "sysfs.h" and linux/irq.h out of iio.h

These are no longer needed.
Requires a few driver updates for places "sysfs.h" should have been
present but wasn't.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
1a25e5928e5ff7612087aab06c4130bf0ebe6592 30-Aug-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: struct iio_dev formatting cleanup and documentation fixes.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
1e8dfcc6c3d36dabc77925104fc5769f79340be5 30-Aug-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio:trivial add a string array for IIO_RAW and IIO_PROCESSED.

Introduce IIO_RAW and IIO_PROCESSED and an array for their strings.
Also move one function to just above where it is called.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
5aa9618896e0ba49b444731f9fafa7f7c18a13ab 30-Aug-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: remove broken support for multiple event interfaces.

We don't have a use case for these. Two drivers appeared to use them
but both report all events on the first.

V2: Remove now irrelevant comment.
V3: Include fixup for adc/ad7280a.c

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
1aa042783251c27a93e31929c24647729db326d4 30-Aug-2011 Jonathan Cameron <jic23@cam.ac.uk> staging: iio: push the main buffer chrdev down to the top level.

Sorry all, this one is very invasive, though the driver changes are
just trivial interface fixes. Not all done yet.

V2 - bring the sca3000 with us.
V3 - fix ade7758 bugs in conversion.
V4 - add ad5933

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
8e7d967244a8eebcdadb048efc5e66849ec0a6b6 30-Aug-2011 Jonathan Cameron <jic23@cam.ac.uk> staging: iio: remove specific chrdev for event reading. Get fd from ioctl on buffer.

Change suggested by Arnd Bergmann.

No real reason to have two chrdevs per device. This step merges them into one.
Currently this means that events will only work on devices with buffers. THat will
be remedied shortly.

V2: set name for event attribute groups. Otherwise they all sorts of fun occurs on
dynamic channel event attribute creation.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
7ae8cf6275589a9ebb733eb5bdd093859ba1be36 30-Aug-2011 Jonathan Cameron <jic23@cam.ac.uk> staging: iio: chrdev.h rationalization.

Push some functions out of header and include this where it is needed
in other headers only.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
1c5e6a3f76a4f55d403bb6d0359b16efa4289809 20-Jul-2011 Michael Hennerich <michael.hennerich@analog.com> iio: core: deconstify members of struct iio_chan_spec

Allow dynamic allocation and population of channel spec.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
c4b14d99bbc93c9fa03b5934a07e95594efe7a93 12-Aug-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio:events: use IIO_<TYPE> and IIO_MOD_<> instead of IIO_EV_CLASS_<TYPE> etc

The original definitions were duplicated to reduce tree churn during introduction of chan_spec
registration. Now there is no point in maintaining the two sets of definitions.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
df9c1c42c26f9a516dd44c956cff301741a0884e 12-Aug-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: Introduce iio_core.h and move all core only stuff out of iio.h.

Also get rid of a few function defs where they are only now in one core file
anyway.
Whilst here add mask = 0 to get rid of warning.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
7d43817803c6a1786d60834ea1a110360b098085 12-Aug-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: add quadrature correction to chan info types.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
4024bc73b1d1d8f82518b67b0996cb7b870dd1d4 12-Aug-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: Remove deprecated dev_data from iio_dev.

The equivalent should always be done using iio_alllocate_device
with to create a private area for the driver and then iio_priv
to access it. There may be other uses for a private data pointer
but right now it just leads driver writers astray.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
9aa1a167f0b8d6a58fe012992fd801bd78bf91f1 12-Aug-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio:core squash trivial wrappers and use ida allocation func.

Reorder to remove need for definitions currently in header.
Remove ida related utility function defs from header.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
ae19178eacfab141afdd886e002bb80c99dba63a 10-Jun-2011 Michael Hennerich <michael.hennerich@analog.com> iio: industrialio-core: Add IIO_OUT type

Add IIO_OUT type for DAC like devices
In case of IIO_OUT make sure the channel device attribute is writable

Ideally we add a flag to iio_chan_spec that tells the core that
the channel device attribute is writable...

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
5c04af04835269c194662be63fe168893fad667f 27-Jun-2011 Michael Hennerich <michael.hennerich@analog.com> iio: industrialio-core: iio_write_channel_info accept IIO_VAL_INT_PLUS_NANO

Allow iio_write_channel_info() to accept IIO_VAL_INT_PLUS_NANO

Changes since V1:
use callback to query expected format/precision

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
43a4360ea8f075540cb7c1efc8d643b4261eb901 27-Jun-2011 Michael Hennerich <michael.hennerich@analog.com> iio: trigger: Add filter callback

Allow devices to reject triggers and vice versa.

Changes since V1:
Added kernel-doc
Moved callback into iio_info
Changed function naming
Revised return value passing
Add forward declaration to avoid warnings

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
71646e2c7ae4edb92dfa89eccb354d81be1cbbbd 27-Jun-2011 Michael Hennerich <michael.hennerich@analog.com> iio: industrialio-core: introduce IIO_VAL_INT_PLUS_NANO

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
6fe8135fccd66aedcc55ded70824342587fd2499 18-May-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: implement an iio_info structure to take some of the constant elements out of iio_dev.

This was suggested by Arnd Bergmann, Other elements may well
move in here in future, but it definitely makes sense for these.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
02db0bb33acf8afbdb9fb4fbaa99f7185337098f 18-May-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio:buffer - remove unused event code for buffer events.

These events are no longer passed up to userspace.

ad7745 - was using these events to indicate directly dataready
events. I'm not sure when it ever makes sense to push these
to userspace so for now I've taken them to event codes 0 and 1
until someone has time to make this driver do something more
standard. (they were arbitary before, they still are, be it
in a different way!)

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
41c775240a78fac3e2bd7f024c3cf0d61547249e 18-May-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio:core clean out unused elements.

Trivial cleanup of things that have fallen by the way.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
faf290e867fd51e227165d0bef113b022520a58f 18-May-2011 Michael Hennerich <michael.hennerich@analog.com> staging:iio: Add channel types IIO_CURRENT and IIO_POWER.

This is required for the ADE7758 driver cleanup.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
eb7fea53e53ed47e82b4cc9911dd8fdc7f953de5 18-May-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: Add chan info support for 'peak_raw' attributes.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
1b732888d83f71a31a4bd26290ca8a00df1bf928 18-May-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: Add core attribute handling for name of device.

Saves on a fair bit of code replication.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
aaf370db7dad574e166f64cd9ad4129f12198145 18-May-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: Remove legacy event handling.

This requires all drivers using the channel registration code and
events to change in one go.

V3: remove unwanted irq enable from event handler.
V2: rebase related fixes to move to new IIO_CHAN macro. All trivial.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
72b38e3de1e9c9813bfb37ffa23de26e5b703014 18-May-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: Push interrupt setup down into the drivers for event lines.

It is much easier to do in driver, and the core does not add much.
Note all drivers will have to be updated with this patch.
None currently are.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
b9d40a9d5583a530372b4e1888e4f643ed05aca6 18-May-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: remove legacy event chrdev for the buffers

part of sca3000 driver temporarily disabled (buffer won't run
anyway). This section is replaced later in this patch set.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
939606d5cc454ea0ebae5346ace632d89f145e62 18-May-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: remove ability to escalate events.

Whilst it is possible to output events to say buffers have passed
a particular level there are no obvious reasons to actually do so.

The upshot of this patch is that buffers will only ever have
one threshold turned on at a time.

For now sca3000 has it's ring buffer effectively disabled.
Fixed later in series.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
1d892719e70e477156f62e060e0805d991d450e5 18-May-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: allow channels to be set up using a table of iio_channel_spec structures.

V8: Add missing address in IIO_CHAN macro. Spotted by Michael Hennerich.
V7: Document additions to iio_dev structure.
V6: Fixup the docs for iio_chan_spec structure.
V5: Actually have the macro handle the _input type channels (oops)
V4: Add ability to do, _input and modified channel naming in a coherent fashion.
Scrap all the messy IIO_CHAN_* macros and move to only one.

V3: Added more types - intensity and light.

V2: Various fixes - some thanks to Arnd.
Bug fix for unregistering of event attr group
Changed iio_read_channel_info to have two part value - use for
raw value read as well.
constify the channelspec structures
raw write support for calibbias and similar
Additional strings for buidling attribute names.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
6f7c8ee585e9db54cb29af1bdb93f29837824933 15-Apr-2011 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: Add ability to allocate private data space to iio_allocate_device

Suggested by Arnd Bergmann. Note this will break ALL drivers that
are out of mainline. The fix is trivial change of
iio_allocate_device() -> iio_allocate_device(0)
Sorry if this causes issues for any one!

V2: Include new drivers in the update

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
25985edcedea6396277003854657b5f3cb31a628 31-Mar-2011 Lucas De Marchi <lucas.demarchi@profusion.mobi> Fix common misspellings

Fixes generated by 'codespell' and manually reviewed.

Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
/drivers/staging/iio/iio.h
b156cf70e1f4befc4856baaf9681dede9a143888 04-Sep-2010 Jonathan Cameron <jic23@cam.ac.uk> staging: iio: convert idr to ida as pointer never provided

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Acked-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
bf32963cbeb5d34fa32a4c1eeed1163ab1b4501c 31-Aug-2010 Manuel Stahl <manuel.stahl@iis.fraunhofer.de> staging: iio move scan_elements into ring buffer

tested with sca3000, adis16400

Signed-off-by: Manuel Stahl <manuel.stahl@iis.fraunhofer.de>
Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
751a37007ff2b063b25ff357d2cbdc8af17b65d0 26-Jun-2010 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: Code cleanups

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
1980e4ac3a62e42a3db56185f9bd01a0e40dfe55 26-Jun-2010 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: Remove used iio_work_cont definition and all references

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
5aaaeba82e00958ecb2c890b4953a249bbde9426 04-May-2010 Jonathan Cameron <jic23@cam.ac.uk> staging: iio: Move from class to bus

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
e5c003ae82865c43feca9e11fb291ec2304a63d1 04-May-2010 Jonathan Cameron <jic23@cam.ac.uk> staging:iio: Support functions for scan mask matching

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
4c572605085d65b7cf4f5b36ccac0f30866d19f9 05-Oct-2009 Randy Dunlap <randy.dunlap@oracle.com> Staging: iio: lots of doc fixes

Fix iio header files kernel-doc notation errors, spelling, typos,
indentation, grammar, etc.

It would also be good if these function names were spelled
correctly, but I didn't change them:
iio_push_or_escallate_ring_event()
iio_trigger_dettach_poll_func()

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h
847ec80bbaa76aae41062d6802cea9c1b2289f14 18-Aug-2009 Jonathan Cameron <jic23@cam.ac.uk> Staging: IIO: core support for device registration and management

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/iio/iio.h