linux/drivers/misc/tps6594-pfsm.c

// SPDX-License-Identifier: GPL-2.0
/*
 * PFSM (Pre-configurable Finite State Machine) driver for TI TPS65224/TPS6594/TPS6593/LP8764 PMICs
 *
 * Copyright (C) 2023 BayLibre Incorporated - https://www.baylibre.com/
 */

#include <linux/errno.h>
#include <linux/fs.h>
#include <linux/interrupt.h>
#include <linux/ioctl.h>
#include <linux/miscdevice.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>

#include <linux/mfd/tps6594.h>

#include <linux/tps6594_pfsm.h>

#define TPS6594_STARTUP_DEST_MCU_ONLY_VAL
#define TPS6594_STARTUP_DEST_ACTIVE_VAL
#define TPS6594_STARTUP_DEST_SHIFT
#define TPS6594_STARTUP_DEST_MCU_ONLY
#define TPS6594_STARTUP_DEST_ACTIVE

/*
 * To update the PMIC firmware, the user must be able to access
 * page 0 (user registers) and page 1 (NVM control and configuration).
 */
#define TPS6594_PMIC_MAX_POS

#define TPS6594_FILE_TO_PFSM(f)

/**
 * struct tps6594_pfsm - device private data structure
 *
 * @miscdev: misc device infos
 * @regmap:  regmap for accessing the device registers
 * @chip_id: chip identifier of the device
 */
struct tps6594_pfsm {};

static ssize_t tps6594_pfsm_read(struct file *f, char __user *buf,
				 size_t count, loff_t *ppos)
{}

static ssize_t tps6594_pfsm_write(struct file *f, const char __user *buf,
				  size_t count, loff_t *ppos)
{}

static int tps6594_pfsm_configure_ret_trig(struct regmap *regmap, u8 gpio_ret, u8 ddr_ret)
{}

static long tps6594_pfsm_ioctl(struct file *f, unsigned int cmd, unsigned long arg)
{}

static const struct file_operations tps6594_pfsm_fops =;

static irqreturn_t tps6594_pfsm_isr(int irq, void *dev_id)
{}

static int tps6594_pfsm_probe(struct platform_device *pdev)
{}

static void tps6594_pfsm_remove(struct platform_device *pdev)
{}

static struct platform_driver tps6594_pfsm_driver =;

module_platform_driver();

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