linux/drivers/mfd/cs40l50-core.c

// SPDX-License-Identifier: GPL-2.0
/*
 * CS40L50 Advanced Haptic Driver with waveform memory,
 * integrated DSP, and closed-loop algorithms
 *
 * Copyright 2024 Cirrus Logic, Inc.
 *
 * Author: James Ogletree <[email protected]>
 */

#include <linux/firmware/cirrus/cs_dsp.h>
#include <linux/firmware/cirrus/wmfw.h>
#include <linux/mfd/core.h>
#include <linux/mfd/cs40l50.h>
#include <linux/pm_runtime.h>
#include <linux/regulator/consumer.h>

static const struct mfd_cell cs40l50_devs[] =;

const struct regmap_config cs40l50_regmap =;
EXPORT_SYMBOL_GPL();

static const char * const cs40l50_supplies[] =;

static const struct regmap_irq cs40l50_reg_irqs[] =;

static struct regmap_irq_chip cs40l50_irq_chip =;

int cs40l50_dsp_write(struct device *dev, struct regmap *regmap, u32 val)
{}
EXPORT_SYMBOL_GPL();

static const struct cs_dsp_region cs40l50_dsp_regions[] =;

static const struct reg_sequence cs40l50_internal_vamp_config[] =;

static const struct reg_sequence cs40l50_irq_mask_override[] =;

static int cs40l50_wseq_init(struct cs40l50 *cs40l50)
{}

static int cs40l50_dsp_config(struct cs40l50 *cs40l50)
{}

static int cs40l50_dsp_post_run(struct cs_dsp *dsp)
{}

static const struct cs_dsp_client_ops client_ops =;

static void cs40l50_dsp_remove(void *data)
{}

static int cs40l50_dsp_init(struct cs40l50 *cs40l50)
{}

static int cs40l50_reset_dsp(struct cs40l50 *cs40l50)
{}

static void cs40l50_dsp_power_down(void *data)
{}

static void cs40l50_dsp_stop(void *data)
{}

static void cs40l50_dsp_bringup(const struct firmware *bin, void *context)
{}

static void cs40l50_request_firmware(const struct firmware *fw, void *context)
{}

struct cs40l50_irq {};

static struct cs40l50_irq cs40l50_irqs[] =;

static const struct reg_sequence cs40l50_err_rls[] =;

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

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

static int cs40l50_irq_init(struct cs40l50 *cs40l50)
{}

static int cs40l50_get_model(struct cs40l50 *cs40l50)
{}

static int cs40l50_pm_runtime_setup(struct device *dev)
{}

int cs40l50_probe(struct cs40l50 *cs40l50)
{}
EXPORT_SYMBOL_GPL();

int cs40l50_remove(struct cs40l50 *cs40l50)
{}
EXPORT_SYMBOL_GPL();

static int cs40l50_runtime_suspend(struct device *dev)
{}

static int cs40l50_runtime_resume(struct device *dev)
{}

EXPORT_GPL_DEV_PM_OPS(cs40l50_pm_ops) =;

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