#include <linux/iio/timer/stm32-lptim-trigger.h>
#include <linux/mfd/stm32-lptimer.h>
#include <linux/module.h>
#include <linux/platform_device.h>
static const char * const stm32_lptim_triggers[] = {
struct stm32_lptim_trigger {
static int stm32_lptim_validate_device(struct iio_trigger *trig,
struct iio_dev *indio_dev)
if (indio_dev->modes & INDIO_HARDWARE_TRIGGERED)
static const struct iio_trigger_ops stm32_lptim_trigger_ops = {
.validate_device = stm32_lptim_validate_device,
bool is_stm32_lptim_trigger(struct iio_trigger *trig)
return (trig->ops == &stm32_lptim_trigger_ops);
EXPORT_SYMBOL(is_stm32_lptim_trigger);
static int stm32_lptim_setup_trig(struct stm32_lptim_trigger *priv)
struct iio_trigger *trig;
trig = devm_iio_trigger_alloc(priv->dev, "%s", priv->trg);
trig->dev.parent = priv->dev->parent;