kernel-brax3-ubuntu-touch/drivers/misc/mediatek/nfc_tms/ese/ese_common.h
erascape f319b992b1 kernel-5.15: Initial import brax3 UT kernel
* halium configs enabled

Signed-off-by: erascape <erascape@proton.me>
2025-09-23 15:17:10 +00:00

53 lines
2.1 KiB
C
Executable file

/*****************************************************************************************
* Copyright (c) 2021- 2022 TsingTeng MicroSystem Corp.Ltd.
* TMS_EDIT
* File : ese_common.h
* Description: Source file for tms ese common
* Version : 1.0
* Date : 2022/4/11
* Team : NFC Middleware
* Author : Guoliang Wu
* --------------------------------- Revision History: ---------------------------------
* <version> <date> < author > <desc>
*******************************************************************************************/
#ifndef _TMS_ESE_H_
#define _TMS_ESE_H_
/*********** PART0: Head files ***********/
#include <linux/spi/spi.h>
#include "../tms_common.h"
/*********** PART1: Define Area ***********/
#ifdef TMS_MOUDLE
#undef TMS_MOUDLE
#define TMS_MOUDLE "eSE"
#endif
#define ESE_VERSION "1.0"
/*********** PART2: Struct Area ***********/
struct ese_info {
bool independent_support; /* irq support feature*/
bool irq_enable;
bool release_read;
struct spi_device *client;
struct device *spi_dev; /* Used for spi->dev */
struct dev_register dev;
struct hw_resource hw_res;
struct tms_info *tms; /* tms common data */
struct mutex read_mutex;
struct mutex write_mutex;
spinlock_t irq_enable_slock;
wait_queue_head_t read_wq;
};
/*********** PART3: Function or variables for other files ***********/
struct ese_info *ese_data_alloc(struct device *dev, struct ese_info *ese);
void ese_data_free(struct device *dev, struct ese_info *ese);
int ese_common_info_init(struct ese_info *ese);
void ese_gpio_release(struct ese_info *ese);
struct ese_info *ese_get_data(struct inode *inode);
void ese_power_control(struct ese_info *ese, bool state);
void ese_enable_irq(struct ese_info *ese);
void ese_disable_irq(struct ese_info *ese);
int ese_irq_register(struct ese_info *ese);
#endif /* _TMS_ESE_H_ */