linux/drivers/iio/adc/fsl-imx25-gcq.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2014-2015 Pengutronix, Markus Pargmann <[email protected]>
 *
 * This is the driver for the imx25 GCQ (Generic Conversion Queue)
 * connected to the imx25 ADC.
 */

#include <dt-bindings/iio/adc/fsl-imx25-gcq.h>
#include <linux/clk.h>
#include <linux/iio/iio.h>
#include <linux/interrupt.h>
#include <linux/mfd/imx25-tsadc.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/platform_device.h>
#include <linux/property.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>

#define MX25_GCQ_TIMEOUT

static const char * const driver_name =;

enum mx25_gcq_cfgs {};

struct mx25_gcq_priv {};

#define MX25_CQG_CHAN(chan, id)

static const struct iio_chan_spec mx25_gcq_channels[MX25_NUM_CFGS] =;

static const char * const mx25_gcq_refp_names[] =;

static irqreturn_t mx25_gcq_irq(int irq, void *data)
{}

static int mx25_gcq_get_raw_value(struct device *dev,
				  struct iio_chan_spec const *chan,
				  struct mx25_gcq_priv *priv,
				  int *val)
{}

static int mx25_gcq_read_raw(struct iio_dev *indio_dev,
			     struct iio_chan_spec const *chan, int *val,
			     int *val2, long mask)
{}

static const struct iio_info mx25_gcq_iio_info =;

static const struct regmap_config mx25_gcq_regconfig =;

static int mx25_gcq_ext_regulator_setup(struct device *dev,
					struct mx25_gcq_priv *priv, u32 refp)
{}

static int mx25_gcq_setup_cfgs(struct platform_device *pdev,
			       struct mx25_gcq_priv *priv)
{}

static void mx25_gcq_reg_disable(void *reg)
{}

/* Custom handling needed as this driver doesn't own the clock */
static void mx25_gcq_clk_disable(void *clk)
{}

static int mx25_gcq_probe(struct platform_device *pdev)
{}

static const struct of_device_id mx25_gcq_ids[] =;
MODULE_DEVICE_TABLE(of, mx25_gcq_ids);

static struct platform_driver mx25_gcq_driver =;
module_platform_driver();

MODULE_DESCRIPTION();
MODULE_AUTHOR();
MODULE_LICENSE();