Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/drivers/char/tpm/tpm-dev.h
26282 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
#ifndef _TPM_DEV_H
3
#define _TPM_DEV_H
4
5
#include <linux/poll.h>
6
#include "tpm.h"
7
8
struct 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
24
void tpm_common_open(struct file *file, struct tpm_chip *chip,
25
struct file_priv *priv, struct tpm_space *space);
26
ssize_t tpm_common_read(struct file *file, char __user *buf,
27
size_t size, loff_t *off);
28
ssize_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
32
void tpm_common_release(struct file *file, struct file_priv *priv);
33
#endif
34
35