linux/drivers/mfd/wm8994-core.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * wm8994-core.c  --  Device access for Wolfson WM8994
 *
 * Copyright 2009 Wolfson Microelectronics PLC.
 *
 * Author: Mark Brown <[email protected]>
 */

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/i2c.h>
#include <linux/err.h>
#include <linux/delay.h>
#include <linux/mfd/core.h>
#include <linux/of.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
#include <linux/regulator/machine.h>

#include <linux/mfd/wm8994/core.h>
#include <linux/mfd/wm8994/pdata.h>
#include <linux/mfd/wm8994/registers.h>

#include "wm8994.h"

static const struct mfd_cell wm8994_regulator_devs[] =;

static const struct resource wm8994_codec_resources[] =;

static const struct resource wm8994_gpio_resources[] =;

static const struct mfd_cell wm8994_devs[] =;

/*
 * Supplies for the main bulk of CODEC; the LDO supplies are ignored
 * and should be handled via the standard regulator API supply
 * management.
 */
static const char *wm1811_main_supplies[] =;

static const char *wm8994_main_supplies[] =;

static const char *wm8958_main_supplies[] =;

static int wm8994_suspend(struct device *dev)
{}

static int wm8994_resume(struct device *dev)
{}

#ifdef CONFIG_REGULATOR
static int wm8994_ldo_in_use(struct wm8994_pdata *pdata, int ldo)
{}
#else
static int wm8994_ldo_in_use(struct wm8994_pdata *pdata, int ldo)
{
	return 0;
}
#endif

static const struct reg_sequence wm8994_revc_patch[] =;

static const struct reg_sequence wm8958_reva_patch[] =;

static const struct reg_sequence wm1811_reva_patch[] =;

#ifdef CONFIG_OF
static int wm8994_set_pdata_from_of(struct wm8994 *wm8994)
{}
#else
static int wm8994_set_pdata_from_of(struct wm8994 *wm8994)
{
	return 0;
}
#endif

/*
 * Instantiate the generic non-control parts of the device.
 */
static int wm8994_device_init(struct wm8994 *wm8994, int irq)
{}

static void wm8994_device_exit(struct wm8994 *wm8994)
{}

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

static int wm8994_i2c_probe(struct i2c_client *i2c)
{}

static void wm8994_i2c_remove(struct i2c_client *i2c)
{}

static const struct i2c_device_id wm8994_i2c_id[] =;
MODULE_DEVICE_TABLE(i2c, wm8994_i2c_id);

static const struct dev_pm_ops wm8994_pm_ops =;

static struct i2c_driver wm8994_i2c_driver =;

module_i2c_driver();

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