26 Apr, 2019

1 commit


20 May, 2018

1 commit


29 Apr, 2018

1 commit

  • If an ADC channel measures the midpoint of a voltage divider, the
    interesting voltage is often the voltage over the full resistance.
    E.g. if the full voltage is too big for the ADC to handle.
    Likewise, if an ADC channel measures the voltage across a shunt
    resistor, with or without amplification, the interesting value is
    often the current through the resistor.

    This driver solves these problems by allowing to linearly scale a channel
    and/or by allowing changes to the type of the channel.

    Signed-off-by: Peter Rosin
    Signed-off-by: Jonathan Cameron

    Peter Rosin
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

03 Jun, 2017

1 commit

  • When a multiplexer changes how an iio device behaves (for example
    by feeding different signals to an ADC), this driver can be used
    to create one virtual iio channel for each multiplexer state.

    Depends on the generic multiplexer subsystem.

    Cache any ext_info values from the parent iio channel, creating a private
    copy of the ext_info attributes for each multiplexer state/channel.

    Reviewed-by: Jonathan Cameron
    Signed-off-by: Peter Rosin
    Signed-off-by: Greg Kroah-Hartman

    Peter Rosin
     

02 Oct, 2016

1 commit

  • The ACCES 104-QUAD-8 is a general purpose quadrature encoder
    counter/interface board. The 104-QUAD-8 is capable of monitoring the
    outputs of eight encoders via four on-board LSI/CSI LS7266R1 24-bit
    dual-axis quadrature counter chips. Core functions handled by the
    LS7266R1, such as direction and total count, are available.

    Performing a write to a counter's IIO_CHAN_INFO_RAW sets the counter and
    also clears the counter's respective error flag. Although the counters
    have a 25-bit range, only the lower 24 bits may be set, either directly
    or via a counter's preset attribute. Interrupts are not supported by
    this driver.

    This driver adds IIO support for the ACCES 104-QUAD-8 and ACCES
    104-QUAD-4. The base port addresses for the devices may be configured
    via the base array module parameter.

    Signed-off-by: William Breathitt Gray
    Signed-off-by: Jonathan Cameron

    William Breathitt Gray
     

28 Sep, 2016

1 commit


04 May, 2016

1 commit


12 Dec, 2015

1 commit

  • MAX30100 is an heart rate and pulse oximeter sensor that works using
    two LEDS of different wavelengths, and detecting the light reflected
    back.

    This patchset adds support for both IR and RED LED channels which can
    be processed in userspace to determine heart rate and blood oxygen
    levels.

    Signed-off-by: Matt Ranostay
    Signed-off-by: Jonathan Cameron

    Matt Ranostay
     

04 Dec, 2015

2 commits

  • A software trigger associates an IIO device trigger with a software
    interrupt source (e.g: timer, sysfs). This patch adds the generic
    infrastructure for handling software triggers.

    Software interrupts sources are kept in a iio_trigger_types_list and
    registered separately when the associated kernel module is loaded.

    Software triggers can be created directly from drivers or from user
    space via configfs interface.

    To sum up, this dynamically creates "triggers" group to be found under
    /config/iio/triggers and offers the possibility of dynamically
    creating trigger types groups. The first supported trigger type is
    "hrtimer" found under /config/iio/triggers/hrtimer.

    Signed-off-by: Daniel Baluta
    Signed-off-by: Jonathan Cameron

    Daniel Baluta
     
  • This patch creates the IIO configfs root group. The group
    will appear under /iio/, usually /config/iio.

    We introduce configfs support in IIO in order to be able to easily
    create IIO objects from userspace. The first supported IIO objects
    are triggers introduced with next patches.

    Signed-off-by: Daniel Baluta
    Tested-by: Matt Ranostay
    Signed-off-by: Jonathan Cameron

    Daniel Baluta
     

25 Oct, 2015

1 commit

  • This patch moves the reference IIO dummy driver from drivers/staging/iio
    into a separate folder, drivers/iio/dummy and adds the proper Kconfig
    and Makefile for it.

    A new config menu entry called IIO dummy driver has also been added
    in the Industrial I/O support menu, corresponding to this driver.

    Signed-off-by: Cristina Opriceana
    Signed-off-by: Jonathan Cameron

    Cristina Opriceana
     

01 Oct, 2015

1 commit

  • Add support for Microchip digital potentiometers and rheostats
    MCP4531, MCP4532, MCP4551, MCP4552
    MCP4631, MCP4632, MCP4651, MCP4652

    DEVICE Wipers Steps Resistor Opts (kOhm) i2c address
    MCP4531 1 129 5, 10, 50, 100 010111x
    MCP4532 1 129 5, 10, 50, 100 01011xx
    MCP4551 1 257 5, 10, 50, 100 010111x
    MCP4552 1 257 5, 10, 50, 100 01011xx
    MCP4631 2 129 5, 10, 50, 100 0101xxx
    MCP4632 2 129 5, 10, 50, 100 01011xx
    MCP4651 2 257 5, 10, 50, 100 0101xxx
    MCP4652 2 257 5, 10, 50, 100 01011xx

    Datasheet: http://www.microchip.com/downloads/en/DeviceDoc/22096b.pdf

    Signed-off-by: Peter Rosin
    Signed-off-by: Jonathan Cameron

    Peter Rosin
     

24 Sep, 2015

1 commit


28 Aug, 2015

1 commit

  • Support triggered events.

    This is useful for chips that don't have their own interrupt sources.
    It allows to use generic/standalone iio triggers for those drivers.

    Signed-off-by: Vladimir Barinov
    Signed-off-by: Jonathan Cameron

    Vladimir Barinov
     

16 Aug, 2015

1 commit

  • For generic IIO trigger implementations we already have a sub-directory,
    but the generic buffer implementations currently reside in the IIO
    top-level directory. The main reason is that things have historically grown
    into this form.

    With more generic buffer implementations on its way now is the perfect time
    to clean this up and introduce a sub-directory for generic buffer
    implementations to avoid too much clutter in the top-level directory.

    Signed-off-by: Lars-Peter Clausen
    Signed-off-by: Jonathan Cameron

    Lars-Peter Clausen
     

15 Aug, 2015

1 commit

  • Currently the IIO callback buffer implementation is directly built into the
    IIO core module when enabled. Given that the callback buffer module is
    standalone functionallity there is really no reason to do this. So move it
    to its own module.

    Also rename the source to follow the standard IIO module naming convention
    as well as add a license notice to the file.

    Signed-off-by: Lars-Peter Clausen
    Signed-off-by: Jonathan Cameron

    Lars-Peter Clausen
     

17 Mar, 2014

1 commit


04 Dec, 2013

2 commits


17 Aug, 2013

2 commits

  • Signed-off-by: Peter Meerwald
    Signed-off-by: Jonathan Cameron

    Peter Meerwald
     
  • the TI TMP006 is a non-contact temperature sensor with I2C interface;
    it measures the surface temperature of a distance object using a
    thermopile to absorb IR energy emitted from the object

    the sensor has two channels: IR sensor voltage (16-bit) and reference
    temperature of the chip (14-bit); datasheet is here:
    http://www.ti.com/lit/ds/symlink/tmp006.pdf

    v2 (thanks to Grygorii Strashko, Lars-Peter Clausen, Jonathan Cameron
    for review comments):
    * power down device on driver remove
    * use sign_extend32()
    * style cleanup
    * add comments what channel raw LSBs mean
    * spelling of thermopile

    Signed-off-by: Peter Meerwald
    Cc: Grygorii Strashko
    Cc: Lars-Peter Clausen
    Cc: Jonathan Cameron
    Cc: LM Sensors
    Signed-off-by: Jonathan Cameron

    Peter Meerwald
     

05 Aug, 2013

1 commit

  • This reverts commit 98a5e9e99d05e9b6a14778b85631b55e8e349990.

    IIO, like the rest of the kernel, should rely on dynamic debugging, not
    have a special config option for it. That way, no user has to rebuild
    their kernel to have debug messages, which is a good thing, let's not
    revert back to the bad old days of the 2000's.

    Cc: Otavio Salvador
    Cc: Jonathan Cameron
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

04 Aug, 2013

1 commit


06 Jun, 2013

1 commit


23 May, 2013

1 commit


20 Nov, 2012

1 commit


10 Nov, 2012

1 commit


20 Oct, 2012

1 commit


07 Sep, 2012

5 commits

  • Added usage id processing for ALS. This uses IIO
    interfaces for triggered buffer to present data to user
    mode.This uses HID sensor framework for registering callback
    events from the sensor hub.

    Signed-off-by: srinivas pandruvada
    Signed-off-by: Jonathan Cameron

    srinivas pandruvada
     
  • Added usage id processing for Compass 3D. This uses IIO
    interfaces for triggered buffer to present data to user
    mode.This uses HID sensor framework for registering callback
    events from the sensor hub.

    Signed-off-by: srinivas pandruvada
    Signed-off-by: Jonathan Cameron

    srinivas pandruvada
     
  • Added usage id processing for Gyroscope 3D. This uses IIO
    interfaces for triggered buffer to present data to user
    mode.This uses HID sensor framework for registering callback
    events from the sensor hub.

    Signed-off-by: srinivas pandruvada
    Signed-off-by: Jonathan Cameron

    srinivas pandruvada
     
  • Added usage id processing for Accelerometer 3D.This uses IIO
    interfaces for triggered buffer to present data to user
    mode.This uses HID sensor framework for registering callback
    events from the sensor hub.

    Signed-off-by: srinivas pandruvada
    Signed-off-by: Jonathan Cameron

    srinivas pandruvada
     
  • This patch contains the common code, which is used by all HID sensors.
    There are some common set of attributes, which every hid sensor
    needs it. This patch contains all such attributes processing.
    Also the trigger interface is common among all HID sensors. This
    patch contains common trigger functions utilized by all HID sensors.

    Signed-off-by: srinivas pandruvada
    Signed-off-by: Jonathan Cameron

    srinivas pandruvada
     

19 Jun, 2012

1 commit


05 Jun, 2012

3 commits

  • The IIO DAC drivers are in a reasonably good shape. They all make use of channel
    spec and non of them provides non-documented sysfs attributes. Code style should
    be OK as well, both checkpatch and coccicheck only report trivial issues.

    So lets move the whole folder out of staging.

    Signed-off-by: Lars-Peter Clausen
    Acked-by: Jonathan Cameron
    Signed-off-by: Greg Kroah-Hartman

    Lars-Peter Clausen
     
  • Changes since V1:

    Apply Jonathan's review feedback:
    Revise device status attribute names, and split documentation into two sections.
    Add additional comments, and fix indention issues.
    Remove pointless zero initializations.
    Revise return value handling.
    Simplify some code sections.
    Split store_eeprom and sync handling into separate functions.
    Use strtobool where applicable.
    Document platform data structures using kernel-doc style.

    Use dev_to_iio_dev
    write_raw IIO_CHAN_INFO_FREQUENCY: Reject values
    Acked-by: Jonathan Cameron
    Signed-off-by: Greg Kroah-Hartman

    Michael Hennerich
     
  • Add sub-driver for the ambient-light-sensor interface on National
    Semiconductor / TI LM3533 lighting power chips.

    The sensor interface can be used to control the LEDs and backlights of
    the chip through defining five light zones and three sets of
    corresponding output-current values.

    The driver provides raw and mean adc readings along with the current
    light zone through sysfs. A threshold event can be generated on zone
    changes. The ALS-control output values can be set per zone for the three
    current output channels.

    Signed-off-by: Johan Hovold
    Acked-by: Jonathan Cameron
    Signed-off-by: Greg Kroah-Hartman

    Johan Hovold
     

15 May, 2012

2 commits