brintos

brintos / linux-shallow public Read only

0
0
Text · 944 B · f3742bc Raw
34 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef _TPM_DEV_H3#define _TPM_DEV_H4 5#include <linux/poll.h>6#include "tpm.h"7 8struct file_priv {9	struct tpm_chip *chip;10	struct tpm_space *space;11 12	struct mutex buffer_mutex;13	struct timer_list user_read_timer;      /* user needs to claim result */14	struct work_struct timeout_work;15	struct work_struct async_work;16	wait_queue_head_t async_wait;17	ssize_t response_length;18	bool response_read;19	bool command_enqueued;20 21	u8 data_buffer[TPM_BUFSIZE];22};23 24void tpm_common_open(struct file *file, struct tpm_chip *chip,25		     struct file_priv *priv, struct tpm_space *space);26ssize_t tpm_common_read(struct file *file, char __user *buf,27			size_t size, loff_t *off);28ssize_t tpm_common_write(struct file *file, const char __user *buf,29			 size_t size, loff_t *off);30__poll_t tpm_common_poll(struct file *file, poll_table *wait);31 32void tpm_common_release(struct file *file, struct file_priv *priv);33#endif34