Skip to content
Permalink
Antoniu-Miclau…
Switch branches/tags

Commits on Nov 18, 2021

  1. iio: expose shared parameter in IIO_ENUM_AVAILABLE

    The shared parameter should be configurable based on its usage, and not
    constrained to IIO_SHARED_BY_TYPE.
    
    This patch aims to improve the flexibility in using the
    IIO_ENUM_AVAILABLE define and avoid redefining custom iio enums that
    expose the shared parameter.
    
    An example is the ad5766.c driver where IIO_ENUM_AVAILABLE_SHARED was
    defined in order to achieve `shared` parameter customization.
    
    The current state of the IIO_ENUM_AVAILABLE implementation will imply
    similar redefinitions each time a driver will require access to the
    `shared` parameter. An example would be admv1013 driver which will
    require custom device attribute for the frequency translation  modes:
    Quadrature I/Q mode and Intermediate frequency mode.
    
    Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
    amiclaus authored and intel-lab-lkp committed Nov 18, 2021

Commits on Nov 17, 2021

  1. iio: light: ltr501: Added ltr303 driver support

    Previously ltr501 driver supported a number of light and,
    proximity sensors including ltr501, ltr559 and ltr301.
    This adds support for another light sensor ltr303
    used in Seeed Studio reTerminal, a carrier board
    for Raspberry Pi 4 CM.
    
    Signed-off-by: Maslov Dmitry <maslovdmitry@seeed.cc>
    Link: https://lore.kernel.org/r/20211106174137.6783-1-maslovdmitry@seeed.cc
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Maslov Dmitry authored and jic23 committed Nov 17, 2021
  2. iio: adc: rzg2l_adc: Remove unnecessary print function dev_err()

    The print function dev_err() is redundant because
    platform_get_irq() already prints an error.
    
    Signed-off-by: Xu Wang <vulab@iscas.ac.cn>
    Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
    Link: https://lore.kernel.org/r/20211105015504.39226-1-vulab@iscas.ac.cn
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    ISCAS-Vulab authored and jic23 committed Nov 17, 2021
  3. iio: mpl3115: Use scan_type.shift and realbit in mpl3115_read_raw

    When processing raw data using channel scan_type.shift as source of
    trust to shift data appropriately.
    When processing the temperature channel, use a 16bit big endian variable
    as buffer to increase conversion readability.
    
    Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
    Link: https://lore.kernel.org/r/20211104082413.3681212-14-gwendal@chromium.org
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    gwendalcr authored and jic23 committed Nov 17, 2021
  4. iio: xilinx-xadc-core: Use local variable in xadc_read_raw

    Minor cleanup: bit is already defined as chan->scan_type.realbits,
    use bit when needed.
    
    Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
    Link: https://lore.kernel.org/r/20211104082413.3681212-13-gwendal@chromium.org
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    gwendalcr authored and jic23 committed Nov 17, 2021
  5. iio: ti-ads1015: Remove shift variable ads1015_read_raw

    By using scan_type.realbits when processing raw data,
    we use scan_type.shit only once, thus we don't need to define a local
    variable for it anymore.
    
    Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
    Link: https://lore.kernel.org/r/20211104082413.3681212-12-gwendal@chromium.org
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    gwendalcr authored and jic23 committed Nov 17, 2021
  6. iio: mag3110: Use scan_type when processing raw data

    Use channel definition as root of trust and replace constant
    when reading elements directly using the raw sysfs attributes.
    
    Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
    Link: https://lore.kernel.org/r/20211104082413.3681212-11-gwendal@chromium.org
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    gwendalcr authored and jic23 committed Nov 17, 2021
  7. iio: ti-adc12138: Use scan_type when processing raw data

    Use channel definition as root of trust and replace constant
    when reading elements directly using the raw sysfs attributes.
    
    Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
    Link: https://lore.kernel.org/r/20211104082413.3681212-10-gwendal@chromium.org
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    gwendalcr authored and jic23 committed Nov 17, 2021
  8. iio: ad7266: Use scan_type when processing raw data

    Use channel definition as root of trust and replace constant
    when reading elements directly using the raw sysfs attributes.
    
    Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
    Link: https://lore.kernel.org/r/20211104082413.3681212-8-gwendal@chromium.org
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    gwendalcr authored and jic23 committed Nov 17, 2021
  9. iio: stk8ba50: Use scan_type when processing raw data

    Use channel definition as root of trust and replace constant
    when reading elements directly using the raw sysfs attributes.
    
    Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
    Link: https://lore.kernel.org/r/20211104082413.3681212-7-gwendal@chromium.org
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    gwendalcr authored and jic23 committed Nov 17, 2021
  10. iio: stk8312: Use scan_type when processing raw data

    Use channel definition as root of trust and replace constant
    when reading elements directly using the raw sysfs attributes.
    
    Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
    Link: https://lore.kernel.org/r/20211104082413.3681212-6-gwendal@chromium.org
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    gwendalcr authored and jic23 committed Nov 17, 2021
  11. iio: sca3000: Use scan_type when processing raw data

    Use channel definition as root of trust and replace constant
    when reading elements directly using the raw sysfs attributes.
    
    Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
    Link: https://lore.kernel.org/r/20211104082413.3681212-5-gwendal@chromium.org
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    gwendalcr authored and jic23 committed Nov 17, 2021
  12. iio: mma7455: Use scan_type when processing raw data

    Use channel definition as root of trust and replace constant
    when reading elements directly using the raw sysfs attributes.
    
    Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
    Link: https://lore.kernel.org/r/20211104082413.3681212-4-gwendal@chromium.org
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    gwendalcr authored and jic23 committed Nov 17, 2021
  13. iio: kxcjk-1013: Use scan_type when processing raw data

    Use channel definition as root of trust and replace constant
    when reading elements directly using the raw sysfs attributes.
    
    Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
    Link: https://lore.kernel.org/r/20211104082413.3681212-3-gwendal@chromium.org
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    gwendalcr authored and jic23 committed Nov 17, 2021
  14. iio: bma220: Use scan_type when processing raw data

    Use channel definition as root of trust and replace constant
    when reading elements directly using the raw sysfs attributes.
    
    Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
    Link: https://lore.kernel.org/r/20211104082413.3681212-2-gwendal@chromium.org
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    gwendalcr authored and jic23 committed Nov 17, 2021
  15. iio: at91-sama5d2: Use dev_to_iio_dev() in sysfs callbacks

    Using `dev_get_drvdata()` in IIO sysfs callbacks to get a pointer to the
    IIO device is a relic from the very early days of IIO. The IIO core as well
    as most other drivers have switched over to using `dev_to_iio_dev()`
    instead.
    
    This driver is one of the last few drivers remaining that uses the outdated
    idiom, update it. This will allow to eventually update the IIO core to no
    longer set the drvdata for the IIO device and free it up for driver usage.
    
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Link: https://lore.kernel.org/r/20211019082929.30503-2-lars@metafoo.de
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    larsclausen authored and jic23 committed Nov 17, 2021
  16. iio: at91-sama5d2: Fix incorrect cast to platform_device

    The at91-sama5d2 driver calls `to_platform_device()` on a struct device
    that is part of a IIO device. This is incorrect since
    `to_platform_device()` must only be called on a struct device that is part
    of a platform device.
    
    The code still works by accident because non of the struct platform_device
    specific fields are accessed.
    
    Refactor the code a bit so that it behaves identically, but does not use
    the incorrect cast. This avoids accidentally adding undefined behavior in
    the future by assuming the `struct platform_device` is actually valid.
    
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Tested-by: Eugen Hristev <eugen.hristev@microchip.com>
    Link: https://lore.kernel.org/r/20211019082929.30503-1-lars@metafoo.de
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    larsclausen authored and jic23 committed Nov 17, 2021
  17. iio: mma8452: Use correct type for return variable in IRQ handler

    The IRQ handler's return type is irqreturn_t. The mma8452 uses a variable
    to store the return value, but the variable is of type int. Change this to
    irqreturn_t. This makes it easier to verify that the code is correct.
    
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Link: https://lore.kernel.org/r/20211101102734.32291-1-lars@metafoo.de
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    larsclausen authored and jic23 committed Nov 17, 2021
  18. iio: lmp91000: Remove no-op trigger ops

    The IIO core handles a trigger ops with all NULL callbacks the
    same as if the trigger ops itself was NULL.
    
    Remove the empty trigger ops from the interrupt trigger driver to slightly
    reduce the boilerplate code. Object size of the driver module is also
    slightly reduced.
    
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Link: https://lore.kernel.org/r/20211031142130.20791-9-lars@metafoo.de
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    larsclausen authored and jic23 committed Nov 17, 2021
  19. iio: gp2ap020a00f: Remove no-op trigger ops

    The IIO core handles a trigger ops with all NULL callbacks the
    same as if the trigger ops itself was NULL.
    
    Remove the empty trigger ops from the interrupt trigger driver to slightly
    reduce the boilerplate code. Object size of the driver module is also
    slightly reduced.
    
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Link: https://lore.kernel.org/r/20211031142130.20791-8-lars@metafoo.de
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    larsclausen authored and jic23 committed Nov 17, 2021
  20. iio: atlas-sensor: Remove no-op trigger ops

    The IIO core handles a trigger ops with all NULL callbacks the same as if
    the trigger ops itself was NULL.
    
    Remove the empty trigger ops from the interrupt trigger driver to slightly
    reduce the boilerplate code. Object size of the driver module is also
    slightly reduced.
    
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Link: https://lore.kernel.org/r/20211031142130.20791-7-lars@metafoo.de
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    larsclausen authored and jic23 committed Nov 17, 2021
  21. iio: as3935: Remove no-op trigger ops

    The IIO core handles a trigger ops with all NULL callbacks the
    same as if the trigger ops itself was NULL.
    
    Remove the empty trigger ops from the interrupt trigger driver to slightly
    reduce the boilerplate code. Object size of the driver module is also
    slightly reduced.
    
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Link: https://lore.kernel.org/r/20211031142130.20791-6-lars@metafoo.de
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    larsclausen authored and jic23 committed Nov 17, 2021
  22. iio: afe4404: Remove no-op trigger ops

    The IIO core handles a trigger ops with all NULL callbacks the
    same as if the trigger ops itself was NULL.
    
    Remove the empty trigger ops from the interrupt trigger driver to slightly
    reduce the boilerplate code. Object size of the driver module is also
    slightly reduced.
    
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Link: https://lore.kernel.org/r/20211031142130.20791-5-lars@metafoo.de
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    larsclausen authored and jic23 committed Nov 17, 2021
  23. iio: afe4403: Remove no-op trigger ops

    The IIO core handles a trigger ops with all NULL callbacks the
    same as if the trigger ops itself was NULL.
    
    Remove the empty trigger ops from the interrupt trigger driver to slightly
    reduce the boilerplate code. Object size of the driver module is also
    slightly reduced.
    
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Link: https://lore.kernel.org/r/20211031142130.20791-4-lars@metafoo.de
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    larsclausen authored and jic23 committed Nov 17, 2021
  24. iio: ad_sigma_delta: Remove no-op trigger ops

    The IIO core handles a trigger ops with all NULL callbacks the
    same as if the trigger ops itself was NULL.
    
    Remove the empty trigger ops from the interrupt trigger driver to slightly
    reduce the boilerplate code. Object size of the driver module is also
    slightly reduced.
    
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Link: https://lore.kernel.org/r/20211031142130.20791-3-lars@metafoo.de
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    larsclausen authored and jic23 committed Nov 17, 2021
  25. iio: sysfs-trigger: Remove no-op trigger ops

    The IIO core handles a trigger ops with all NULL callbacks the
    same as if the trigger ops itself was NULL.
    
    Remove the empty trigger ops from the interrupt trigger driver to slightly
    reduce the boilerplate code. Object size of the driver module is also
    slightly reduced.
    
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Link: https://lore.kernel.org/r/20211031142130.20791-2-lars@metafoo.de
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    larsclausen authored and jic23 committed Nov 17, 2021
  26. iio: interrupt-trigger: Remove no-op trigger ops

    The IIO core handles a trigger ops with all NULL callbacks the
    same as if the trigger ops itself was NULL.
    
    Remove the empty trigger ops from the interrupt trigger driver to slightly
    reduce the boilerplate code. Object size of the driver module is also
    slightly reduced.
    
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Link: https://lore.kernel.org/r/20211031142130.20791-1-lars@metafoo.de
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    larsclausen authored and jic23 committed Nov 17, 2021
  27. iio: Mark iio_device_type as const

    The iio_device_type struct is never modified, mark it as const. This allows
    it to be placed in a read-only memory section, which will protect against
    accidental or deliberate modification.
    
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Link: https://lore.kernel.org/r/20211031080421.2086-1-lars@metafoo.de
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    larsclausen authored and jic23 committed Nov 17, 2021
  28. iio/scmi: Add reading "raw" attribute.

    Add IIO_CHAN_INFO_RAW to the mask and implement corresponding
    reading "raw" attribute in scmi_iio_read_raw.
    
    Signed-off-by: Andriy Tryshnivskyy <andriy.tryshnivskyy@opensynergy.com>
    Acked-by: Jyoti Bhayana <jbhayana@google.com>
    Link: https://lore.kernel.org/r/20211024091627.28031-3-andriy.tryshnivskyy@opensynergy.com
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Andriy Tryshnivskyy authored and jic23 committed Nov 17, 2021
  29. iio: core: Introduce IIO_VAL_INT_64.

    Introduce IIO_VAL_INT_64 to read 64-bit value for
    channel attribute. Val is used as lower 32 bits.
    
    Signed-off-by: Andriy Tryshnivskyy <andriy.tryshnivskyy@opensynergy.com>
    Link: https://lore.kernel.org/r/20211024091627.28031-2-andriy.tryshnivskyy@opensynergy.com
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Andriy Tryshnivskyy authored and jic23 committed Nov 17, 2021
  30. iio: adc: ina2xx: Avoid double reference counting from get_task_struc…

    …t/put_task_struct()
    
    kthread_run() and kthread_stop() already do reference
    counting of the task, so remove get_task_struct/put_task_struct()
    to avoid double reference counting.
    
    Signed-off-by: Cai Huoqing <caihuoqing@baidu.com>
    Link: https://lore.kernel.org/r/20211021124254.3247-2-caihuoqing@baidu.com
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Cai Huoqing authored and jic23 committed Nov 17, 2021
  31. iio: adc: ina2xx: Make use of the helper macro kthread_run()

    Repalce kthread_create/wake_up_process() with kthread_run()
    to simplify the code.
    
    Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>
    Signed-off-by: Cai Huoqing <caihuoqing@baidu.com>
    Link: https://lore.kernel.org/r/20211021124254.3247-1-caihuoqing@baidu.com
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Cai Huoqing authored and jic23 committed Nov 17, 2021
  32. iio: ms5611: Simplify IO callback parameters

    The ms5611 passes &indio_dev->dev as a parameter to all its IO callbacks
    only to directly cast the struct device back to struct iio_dev. And the
    struct iio_dev is then only used to get the drivers state struct.
    
    Simplify this a bit by passing the state struct directly. This makes it a
    bit easier to follow what the code is doing.
    
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Link: https://lore.kernel.org/r/20211020142110.7060-1-lars@metafoo.de
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    larsclausen authored and jic23 committed Nov 17, 2021
  33. iio: imx7d_adc: Don't pass IIO device to imx7d_adc_{enable,disable}()

    The `imx7d_adc_enable()` and `imx7d_adc_disable()` functions are used as
    the suspend and resume callbacks for the device. When called as
    suspend/resume functions they are called with the platform_device's device
    as their parameter.
    
    In addition the functions are called on device probe and remove. In this
    case they are passed the struct device of the IIO device that the driver
    registers.
    
    This works because in the `imx7d_adc_{enable,disable}()` functions the
    passed struct device is only ever used as a parameter to `dev_get_drvdata()`
    and `dev_get_drvdata()` returns the same value for the platform device and
    the IIO device.
    
    But for consistency we should pass the same struct device to the
    `imx7d_adc_{enable,disable}()` in all cases. This will avoid accidental
    breakage if the device is ever used for something more than
    `dev_get_drvdata()`.
    
    Another motivation is that `dev_get_drvdata()` on the IIO device relies on
    the IIO core calling `dev_set_drvdata()`. Something we want to remove.
    
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Link: https://lore.kernel.org/r/20211020085754.16654-1-lars@metafoo.de
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    larsclausen authored and jic23 committed Nov 17, 2021
  34. iio: st-sensors: Use dev_to_iio_dev() in sysfs callbacks

    Using `dev_get_drvdata()` in IIO sysfs callbacks to get a pointer to the
    IIO device is a relic from the very early days of IIO. The IIO core as well
    as most other drivers have switched over to using `dev_to_iio_dev()`
    instead.
    
    This driver is one of the last few drivers remaining that uses the outdated
    idiom, update it. This will allow to eventually update the IIO core to no
    longer set the drvdata for the IIO device and free it up for driver usage.
    
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Link: https://lore.kernel.org/r/20211020085349.16178-1-lars@metafoo.de
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    larsclausen authored and jic23 committed Nov 17, 2021
Older