| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * Copyright (c) 2012 Analog Devices, Inc. |
|---|
| 3 | 4 | * Author: Lars-Peter Clausen <lars@metafoo.de> |
|---|
| 4 | | - * |
|---|
| 5 | | - * This program is free software; you can redistribute it and/or modify it |
|---|
| 6 | | - * under the terms of the GNU General Public License version 2 as published by |
|---|
| 7 | | - * the Free Software Foundation. |
|---|
| 8 | 5 | */ |
|---|
| 9 | 6 | |
|---|
| 10 | 7 | #include <linux/kernel.h> |
|---|
| .. | .. |
|---|
| 15 | 12 | #include <linux/iio/kfifo_buf.h> |
|---|
| 16 | 13 | #include <linux/iio/triggered_buffer.h> |
|---|
| 17 | 14 | #include <linux/iio/trigger_consumer.h> |
|---|
| 18 | | - |
|---|
| 19 | | -static const struct iio_buffer_setup_ops iio_triggered_buffer_setup_ops = { |
|---|
| 20 | | - .postenable = &iio_triggered_buffer_postenable, |
|---|
| 21 | | - .predisable = &iio_triggered_buffer_predisable, |
|---|
| 22 | | -}; |
|---|
| 23 | 15 | |
|---|
| 24 | 16 | /** |
|---|
| 25 | 17 | * iio_triggered_buffer_setup() - Setup triggered buffer and pollfunc |
|---|
| .. | .. |
|---|
| 70 | 62 | } |
|---|
| 71 | 63 | |
|---|
| 72 | 64 | /* Ring buffer functions - here trigger setup related */ |
|---|
| 73 | | - if (setup_ops) |
|---|
| 74 | | - indio_dev->setup_ops = setup_ops; |
|---|
| 75 | | - else |
|---|
| 76 | | - indio_dev->setup_ops = &iio_triggered_buffer_setup_ops; |
|---|
| 65 | + indio_dev->setup_ops = setup_ops; |
|---|
| 77 | 66 | |
|---|
| 78 | 67 | /* Flag that polled ring buffering is possible */ |
|---|
| 79 | 68 | indio_dev->modes |= INDIO_BUFFER_TRIGGERED; |
|---|
| .. | .. |
|---|
| 128 | 117 | return ret; |
|---|
| 129 | 118 | } |
|---|
| 130 | 119 | EXPORT_SYMBOL_GPL(devm_iio_triggered_buffer_setup); |
|---|
| 131 | | - |
|---|
| 132 | | -void devm_iio_triggered_buffer_cleanup(struct device *dev, |
|---|
| 133 | | - struct iio_dev *indio_dev) |
|---|
| 134 | | -{ |
|---|
| 135 | | - int rc; |
|---|
| 136 | | - |
|---|
| 137 | | - rc = devres_release(dev, devm_iio_triggered_buffer_clean, |
|---|
| 138 | | - devm_iio_device_match, indio_dev); |
|---|
| 139 | | - WARN_ON(rc); |
|---|
| 140 | | -} |
|---|
| 141 | | -EXPORT_SYMBOL_GPL(devm_iio_triggered_buffer_cleanup); |
|---|
| 142 | 120 | |
|---|
| 143 | 121 | MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>"); |
|---|
| 144 | 122 | MODULE_DESCRIPTION("IIO helper functions for setting up triggered buffers"); |
|---|